Muy buenas tardes compañeros a ver si me pueden echar la mano tengo un archivo con 2 hojas una llamada AYER y otra llamada MANANA lo que deseo es comparar los valores existentes de la hoja MANANA en las celdas D6 y F6 con las de la hoja AYER en las mismas columnas, el problema radica en que el valor a comparar en MANANA se puede encontrar en cualquier parte del rango de las columnas D6 y F6 de la hoja AYER. Para pronta referencia pongo lo que he intentado realizar, sin embargo me marca error. Ayuda Por Favor !!!!!! Mil gracias de antemano por la atencion y ayuda.
Sub Comparar_RFCs_y_Destino()
Dim Celda_a_Comparar_Manana As Range
Dim Celda_a_Comparar_Ayer As Range
Sheets("AYER").Select
Range("D6").Select
FilaFinalAyer = Cells(Rows.Count, 4).End(xlUp).Row
ColumnaInicialAyer = Cells(6, Columns.Count).End(xlToLeft).Column - 4
Sheets("MANANA").Select
Range("D6").Select
Range(Selection, Selection.End(xlDown)).Select
For Each Celda_a_Comparar_Manana In Selection
'Sheets("AYER").Select
'Range("D6").Select
'Range(Selection, Selection.End(xlDown)).Select
For x = 6 To FilaFinalAyer
If Celda_a_Comparar_Manana.Value And Celda_a_Comparar_Manana.Offset(0, 2).Value = Celda_a_Comparar.Ayer.Value And Celda_a_Comparar_Ayer.Offset(0, 2) Then
Celda_a_Comparar_Manana.Font.Color = vbRed
Else
Celda_a_Comparar_Manana.Font.Color = vbGreen
End If
Next x
Next Celda_a_Comparar_Manana
End Sub
Si sólo quieres saber si un dato está en la otra hoja, ¿por qué no utilizas la función CONTAR.SI? si el dato está, el resultado será 1 (si está más veces será mayor que uno), si no está, el resultado será 0
si lo quieres hacer desde VBA sería con
Application.WorksheetFunction.CountIf(aquí los argumentos de la función)
------
Ya sé Excel, pero necesito más.
que buena tu idea, y si lo quisiera hacer mediante macro? y el nombre del archivo proviene de una variable??? como se haria??? alguna idea al respecto???