Custom Search

Macro recorre filas, busca dato y resalta fila



En el anterior ejemplo se expuso sobre como se puede con una macro recorre las filas buscando un dato cuando lo encuentra copia los datos y los pega en otra hoja, algo parecido se expuso en recorre filas busca y copia o quizás te ayude recorrer filas buscando y comparando datos, recorrer filas y contar celdas con datos, recorrer filas y copiar de la columna A a la B hay varios ejemplos que encontrarás aquí.

Recomiendo antes de seguir un excelente libro sobre Excel el cual te ayudará a operar las planillas de cálculo, haz click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

Ahora voy a mostrar otra variante, el ejemplo consiste en recorrer las filas encontrar el registro y resaltar la fila donde se encuentra, se recorre todas las filas hasta la última con datos, busca en la columna de búsqueda respectiva, una vez hallado el registro lo resalta con color, desde el link del final puedes descargar el ejemplo.

Antes de comenzar y si estás usando macros para automatizar tu libro de Excel seguramente te es necesario saber seleccionar o referenciar celdas, en FORMAS DE SELECCIONAR O REFERENCIAR CELDAS CON VBA (Spanish Edition) encontrarás una excelente ayuda; si trabajas con fechas en Excel, fíjate en el siguiente link que te puede ser de utilidad FORMATOS Y FUNCIONES DE FECHA Y HORA DE MICROSOFT EXCEL (Spanish Edition)

 

El ejemplo de macro de VBA, tiene como fin tomar una serie de datos que se encuentran en la columna A hasta la última fila con datos, luego busca en los códigos o valores de la columna D, una vez que se encontró el dato colorea o resalta toda la fila donde se encontró el dato

Se debe notar que se realizan dos bucles, uno dentro del otro, el primer bucle permite recorrer todos los datos de la columna A, que luego son buscados en la Columna D, si no encuentra el dato en la columna D pasa a la fila siguiente hasta la última fila con datos, luego vuelve a tomar el segundo dato de la columna A y a Buscar en la columna D y así sucesivamente hasta que se llegue hasta el último dato o última fila con datos.

Al último sale un msgbox mostrando la cantidad de registros encontrados, en caso que no encuentre también sale un msgbox avisando sobe dicha situación.


El ejemplo de macro que utiliza que recorre todas la filas, luego busca en un rango de datos y colorea o resalta la fila donde se encontró el dato, se puede descargar desde el link del final de este post, una vez descargado el ejemplo se presiona el botón que dice "Macro" y se ejecuta la macro realizando la búsqueda de datos, el código es libre y se puede modificar y adaptar a la necesidad de cada uno.



Código que se inserta en un userform



Sub BuscarDatosColoreaFila()
Application.ScreenUpdating = False
'On Error Resume Next
DisplayAlerts = False
Dim uf As String
Dim conta As Integer
f = 2
f1 = 2
uf = Sheets("Hoja1").Range("D" & Rows.Count).End(xlUp).Row
Sheets("Hoja1").Range("D" & f1 & ":H" & uf).Interior.Pattern = xlNone
Sheets("Hoja1").Select
Cells(f, 1).Select
While Cells(f, 1) <> Empty
dato = Cells(f, 1)

   While Cells(f1, 4) <> Empty
   dato1 = Cells(f1, 4)
    If dato = dato1 Then
    Sheets("Hoja1").Range("D" & f1 & ":H" & f1).Interior.Color = 255
    conta = conta + 1
    f2 = f2 + 1
    End If
   f1 = f1 + 1
   Wend
f1 = 2
f = f + 1
Wend

uf = Sheets("Hoja2").Range("C" & Rows.Count).End(xlUp).Row
Sheets("Hoja2").Range("C" & 2 & ":E" & uf).NumberFormat = "#,##0.00"
If conta = 0 Then
MsgBox ("No se encontró el código buscado"), vbInformation, "AVISO"
Else
MsgBox ("Se encontraron " & conta & " códigos"), vbInformation, "AVISO"
End If
DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.



If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends