Foros del Web » Soporte técnico » Ofimática »

Excel - Seleccionar Fila :S

Estas en el tema de Excel - Seleccionar Fila :S en el foro de Ofimática en Foros del Web. Hola colegas, necesito una mano para resolver este lio, tengo 2 hojas, una de ellas tiene datos acomodados en filas con su nombre, apellido, compra, ...
  #1 (permalink)  
Antiguo 13/06/2007, 16:51
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Excel - Seleccionar Fila :S

Hola colegas, necesito una mano para resolver este lio, tengo 2 hojas, una de ellas tiene datos acomodados en filas con su nombre, apellido, compra, etc, intento hacer un macro, que desde la celda P9 hacia abajo, si esta escrito ok, que se seleccione toda esa fila y se copie en la 2da hoja.


Range("Q9").Select
'mientras la celda tenga escrito algo de informacion que se detenga ahi
Do While ActiveCell.Value <> Empty
'me muevo una columna a la izquierda hasta el casillero "status"
ActiveCell.Offset(0, -1).Select
If ActiveCell.Value = "OK" Then
'ActiveCell.Rows.Select
Range(Cells(ActiveCell.Row, 1)).Select
End If
Loop

Hasta aca llegue, y no logro poder seleccionar la fila que contiene el dato "OK" en la columna P..
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #2 (permalink)  
Antiguo 13/06/2007, 17:02
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: Excel - Seleccionar Fila :S

Un ejemplo que hice para un amigo:

Sub mover()

Dim Rango As Range

Sheets("PENDIENTE PAGOS").Select

For Each Rango In ActiveSheet.Range("I3:I600")
If Rango = "P" Then
Rango.EntireRow.Cut
Sheets("FACTURAS PAGADAS").Activate
Range("a4").End(xlDown).Offset(1, 0).Activate
ActiveSheet.Paste
End If

Next
Sheets("PENDIENTE PAGOS").Activate
Range("A5:A600").SpecialCells(xlCellTypeBlanks).En tireRow.Delete

End Sub

Aqui hay dos hojas como vez. En la hoja "pendientes de pago", en la columna I, el escribia una "P", para aquellas pagadas, y queria que cada fila donde hubiese esta "P", se pasara a la hoja "Facturas pagadas", una debajo de otras, y luego essas filas "vacias" desaparecieran

Abraham
  #3 (permalink)  
Antiguo 14/06/2007, 11:36
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Re: Excel - Seleccionar Fila :S

Hola Abraham, la verdad es que es practicamente para lo que lo estaba necesitando. Te cuento que hice unas pruebas y me da este error que no se resolver:

Error 1004: Error el el metodo activate de la clase Range

Private Sub CommandButton2_Click()

Dim Rango As Range
'Sheets("PENDIENTE PAGOS").Select, lo anule por que el boton ya esta en la hoja que necesito
For Each Rango In ActiveSheet.Range("P9:P15")
If Rango = "P" Then
Rango.EntireRow.Cut
Sheets("Base de Datos").Activate
ActiveSheet.Unprotect
Range("a9").End(xlDown).Offset(1, 0).Activate
'Rows("9:9").Select /Esta variante tampoco funciono
'Selection.Insert Shift:=xlDown /Esta variante tampoco funciono

ActiveSheet.Paste
End If
Next
'Sheets("PENDIENTE PAGOS").Activate
'Range("A5:A600").SpecialCells(xlCellTypeBlanks).E n tireRow.Delete

End Sub
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #4 (permalink)  
Antiguo 14/06/2007, 13:41
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: Excel - Seleccionar Fila :S

No uses un boton de controles, usa uno de formularios, y la macro en un modulo normal. Si por alguna razon tienes que usar uno de comandos, pues "llama" (CALL) desde este la macro del modulo normal, no lo coloques en el moduo d ela hoja

Abraham
  #5 (permalink)  
Antiguo 14/06/2007, 14:33
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Re: Excel - Seleccionar Fila :S

La diferencia que ocurria era que vos lo llamabas desde la hoja Facturas Pagadas (ahi estaba tu boton) y yo intente hacerlo desde "pendiente pagos", al invertir esto la macro andubo, aun con el boton de comandos.

Por otro lado lo que me ocurria era que no me agregaba una linea nueva, al copiar la linea desde PENDIENTE PAGO no se por que, pero me copiaba una encima de la otra, entonces lo cambie asi el codigo y andubo:

Dim Rango As Range
Sheets("Envios por Correo").Select
For Each Rango In ActiveSheet.Range("P9:P15")
If Rango = "P" Then
Rango.EntireRow.Copy
Sheets("Base de Datos").Activate
ActiveSheet.Unprotect
Rows("9:9").Select
Selection.Insert Shift:=xlDown
ActiveSheet.Paste
End If
Next
'Sheets("PENDIENTE PAGOS").Activate
'Range("A5:A600").SpecialCells(xlCellTypeBlanks).E n tireRow.Delete
End Sub

Todavia no termine de comprobar que funcione sin errores de ningun tipo, pero va mejor, sigo trabajando y te cuento, gracias abraham
__________________
-- Nunca te des por vencido, aún vencido -- Web
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:22.