Sigue las Instrucciones para ejecutar la macro
1. Abre tu libro 2 de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Para ejecutarla presiona F5
Sub clientes_libro2_no_en_libro1()
'por.DAM
Set h1 = Workbooks("libro1").Sheets("Hoja1")
Set h2 = Workbooks("libro2").Sheets("Hoja1")
h2.Activate
Set r = h1.Range("A:A")
col = "A"
For i = 1 To h2.Range(col & Rows.Count).End(xlUp).Row
Set b = r.Find(Cells(i, col))
If b Is Nothing Then Cells(i, col).Interior.ColorIndex = 6
Next
End Sub
Indicaciones
1. Los dos libros deben estar abiertos
2. La macro la debes poner en el libro2
3. La hoja de los 2 libros le puse “hoja1”, puedes cambiar el nombre en esta parte de la macro:
Set h1 = Workbooks("libro1").Sheets("Hoja1")
Set h2 = Workbooks("libro2").Sheets("Hoja1")
Si tienes problemas en esta parte cambia el nombre así
Set h1 = Workbooks("libro1.xls").Sheets("Hoja1")
Set h2 = Workbooks("libro2.xls").Sheets("Hoja1")
Si tienes versión 2007 o mayor, así
Set h1 = Workbooks("libro1.xlsx").Sheets("Hoja1")
Set h2 = Workbooks("libro2.xlsm").Sheets("Hoja1")
4. La columna de clientes en el libro1, debe estar en la columna “A”, cámbiala en esta parte de la macro
Set r = h1.Range("A:A")
Por ejemplo, si está en la columna D, escribe así
Set r = h1.Range("D:D")
5. La columna de clientes en el libro 2, debe estar en la columna “A”, cámbiala en esta parte de la macro
col = "A"
Por ejemplo, si está en la columna D, escribe así
col = "D"
6. Te va a pintar de amarillo el cliente que no exista, cambia en la macro en esta parte, por el número de color de tu preferencia
If b Is Nothing Then Cells(i, col).Interior.ColorIndex = 6
busca el número de colores en esta página
http://dmcritchie.mvps.org/excel/colors.htm
Saludos. Dam
Si es lo que necesitas.
Hola: Generalmente no agrego más comentarios, pero hoy ando de buenas además me dejaste con la inquietud, por lo que me atreví a revisar tu macro y con todo respeto te comento lo siguiente, para que lo consideres como critica constructiva. Primero la pregunta ya fue valorada por el usuario y mi respuesta fue correcta. Segundo cómo es más fácil con tu macro si tiene casi el triple de líneas de código que mi macro? y ya para finalizar, tu macro no funciona si no seleccionas las celdas, entonces todavía te faltan más líneas de código para seleccionar lo que se quiere comparar. Espero que puedas corregir tu macro para que la puedan tomar otros usuarios. Saludos Cordiales, Dante Amor. - Dante Amor
Dante,disculpa,pero el que tu macro tenga menos lineas de codigo no significa que sea mejor,ademas tu macro solo verifica en una columna,mi macro es mas generico, compara varias columnas (un rango que el usuario debe seleccionar)y por tanto serviria perfectamente para lo que pide el usuario,y para muchos otros casos mas.Lo que si, me falto detallar mas como usarlo:-crear un archivo excel habilitado para macros-copiar en la hoja1 y hoja 2 los datos a comparar-copiar el codigo de la macro en un modulo VBA del excel (ALT+F11)-crear un boton en la segunda hoja del excel,el boton debe invocar a la macro-en la hoja2 donde esta el boton,se debe seleccionar el rango de celdas,y hacer clic al boton - Gabriel Flores
Hola, quisiera saber si los valores que están en una columna son iguales a los de otra columna pero de otro libro y en caso de que sean distintos, que marque el que es distinto. - Gustavo Garcia
Comentario borrado por el autor - Adriana Martinez