XSL - macro

   
Vista:

macro

Publicado por Saul (1 intervención) el 08/04/2010 21:22:53
Tengo este macro.
y lo que pretendo es buscar en una lista de datos y ponerlos en otro.
• En celdas C5:C12 tenemos la lista en que buscar (celdas D5:D12 también pertenecen a la matriz.
• En celda G2 introducimos el criterio.
• En celdas G5:H5 el programa pondrá la lista "filtrada", allí no tienes que introducir nada.

Por favor ayuda.. porque no funciona pero no se porque no ..?? esta hecho en office 2003

Sub Buscar_Texto_En_Lista()
'dimensiones
Dim lngUltimaFila As Long
Dim strObjetoBuscar As String
Dim lngResultado As Long
Dim lngColumna As Long, lngFila As Long
Dim lngPegarColumna As Long, lngPegarFila As Long
Dim x As Integer, n As Integer
'quitar resultados anteriores
Range("G5:H4000").ClearContents
'columna + fila donde empezar/terminar búsqueda
lngColumna = 2
lngFila = 5
lngUltimaFila = Columns(lngColumna).Range("A65536").End(xlUp).Row
'columna + fila donde empezar a pegar resultados
lngPegarColumna = 6
lngPegarFila = 5
'objeto a buscar
strObjetoBuscar = Range("G2").Text
If strObjetoBuscar = "" Then GoTo 99
'minúsculas
strObjetoBuscar = LCase(strObjetoBuscar)
'bucle: realizar búsqueda
For n = lngFila To lngUltimaFila
'evaluación
lngResultado = InStr(1, Cells(n, 3),strObjetoBuscar, vbTextCompare)
'copiar/pegar
If lngResultado> 0 Then
Range(Cells(n, 2), Cells(n, 4)).Copy
Range( _
Cells(lngPegarFila, lngPegarColumna), _
Cells(lngPegarFila, lngPegarColumna + 2)) _
.Select
ActiveSheet.Paste
lngPegarFila = lngPegarFila + 1
End If
Next n
'aparcar
Application.CutCopyMode = False
Range("G2").Select
99:
End Sub
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