Visual Basic para Aplicaciones - Buscar y copiar filas excel

Life is soft - evento anual de software empresarial
   
Vista:

Buscar y copiar filas excel

Publicado por Perruno (1 intervención) el 12/11/2008 19:35:57
Hola, ahi va la pregunta;
¿Como puedo hacer para copiar unas filas dependiendo de si el valor de una columna de estas filas está en una lista de valores de otra columna?
Es decir si tengo una columna con :

111111
222222
333333

y una serie de columnas con :

222222 paco bla bla asdsa
333333 Antonio jur jur jur

que me copie las filas del 222222 y del 333333 por que están en la lista de valores de arriba, en una pestaña en concreto o en unas columnas en concreto...

¿Esto se puede hacer directamente en el excel con un buscarv o algo asi?
¿O lo tengo que hacer con visual basic?
En el segundo caso como haría la parte de la búsqueda;

sería una cosa así , ¿pero me podeis poner el codigo que funcione correctamente?

While (Cells(i, 2) <> "")

' Como busco en una columna en concreto y que me devuelva la fila que encuentra????
Cells.Find(What:="2222222", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

If encontrado = True {
Rows("fila_a_copiar:fila_a_copiar").Select
Selection.Copy
j = j + 1
Sheets("Hoja2").Select
ActiveSheet.Paste
}

i = i + 1
Wend

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Buscar y copiar filas excel

Publicado por Perruno (1 intervención) el 13/11/2008 12:03:32
He hecho lo siguiente;

j = 1
i = 3
While (Cells(i, 1) <> "")

valor = Cells(i, 1)
With Worksheets(2).Range("a1:a800")
Set c = .Find(valor, LookIn:=xlValues)
If Not c Is Nothing Then
Rows(c.Address).Select
Selection.Copy
Sheets("Hoja3").Select
Rows(j).Select
ActiveSheet.Paste
j = j + 1
End If
End With

i = i + 1
Wend

Pero me da un error en el Rows(c.Address).Select
¿Sabrías como tengo que poner está sentencia para poder seleccionar la fila donde se ha encontrado el valor?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar y copiar filas excel

Publicado por Perruno (1 intervención) el 13/11/2008 12:34:23
Estoy tonto, tenía la solución ahi y no la veia....
la fila la tengo en i
el código sería este;

Dim valor As String
Dim j As Integer
Dim c As Range

j = 1
i = 3
While (Cells(i, 1) <> "")

valor = Cells(i, 1)
With Worksheets(2).Range("a1:a800")
Set c = .Find(valor, LookIn:=xlValues)
If Not c Is Nothing Then
Rows(i).Select
Selection.Copy
Sheets("Hoja3").Select
Rows(j).Select
ActiveSheet.Paste
j = j + 1
Sheets("Hoja1").Select
End If
End With

i = i + 1
Wend
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar