Respuesta1
Según la captura de pantalla adjunta, descubrí que tiene dos macros de VBA y está intentando comparar dos columnas y copiar valores no coincidentes en otra hoja.
Para esto necesitas un método para combinar dos macros en una.
Me gustaría sugerir un método, compararé dos columnas en la hoja de origen para obtener un valor incomparable y copiar los datos en otra hoja.
La macro aplicará el formato de color en las filas y, después de copiar, invertirá el formato de ambas columnas.
Sub HighlightColumnDifferences()
Dim bothcolumns As Range, i As Integer
Set bothcolumns = Selection
With bothcolumns
For i = 1 To .Rows.Count
If Not StrComp(.Cells(i, 1), .Cells(i, 2), vbBinaryCompare) = 0 Then
Range(.Cells(i, 1), .Cells(i, 2)).Interior.ColorIndex = 6
End If
Next i
End With
Call Copy
Application.CutCopyMode = False
End Sub
Sub Copy()
Dim i As Long
For i = 1 To 10
If Sheets("Sheet1").Range("A" & i).Interior.ColorIndex = xlNone Then
Range("A" & i).Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
If Sheets("Sheet1").Range("B" & i).Interior.ColorIndex = xlNone Then
Range("B" & i).Copy Destination:=Sheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Offset(1)
End If
Next i
Worksheets("Sheet1").Activate
Range("A1:B10").ClearFormats
Application.CutCopyMode = False
End Sub
Cómo funciona:
- Copiar&Pegartanto Código como Módulo Estándar.
- Seleccione Datos de ambas columnas
Sheet 1
que desea comparar. - CORRER
HighlightColumnDifferences
Macro.
NÓTESE BIEN
- Puede seleccionar dos columnas cualesquiera para comparar en lugar de solo A y B.
- Puede ajustar los valores de
For i = 1 To 10
ySheet Name
el rango de datosA1:B10
en la segunda macro.