BUSCAR DIFERENCIAS ENTRE COLUMNAS
Publicado por Quico (106 intervenciones) el 21/02/2019 00:31:08
Tengo una hoja excel con 2 columnas (B y D), de las que necesito comparar las listas.
Estas listas comienzan en la 'celda 7', por lo tanto:
-B7 hasta que no encuentre nada en B
-D7 hasta que no encuentre nada en D
He creado una macro que lo que intenta es darme los resultados de la comparativa
en la COLUMNA F, también desde la fila 7.
Es decir, que comparamos cada valor de la columna D con todos los de la B.
Y cuando obtiene los que no estan en B, los añade en columna F.
*nota: Ahora que estoy redactando esto, acabo de pensar la comparación contraria, que quizá también pueda ocurrir. Acabo de añadir una nueva columna...
Aunque en mi macro (que no me funciona) no se contempla esta columna nueva.
¿Como se podría incorporar la comparativa en nueva columna 'H' de comparativa de B respecto a D?
Y por supuesto la pregunta inicial de la macro, La comparativa entre D respecto a B?
Esta es la macro sin el comentario de *nota.
¿Porque no me funciona esta macro comparativa de D a B?
Gracias
Estas listas comienzan en la 'celda 7', por lo tanto:
-B7 hasta que no encuentre nada en B
-D7 hasta que no encuentre nada en D
He creado una macro que lo que intenta es darme los resultados de la comparativa
en la COLUMNA F, también desde la fila 7.
Es decir, que comparamos cada valor de la columna D con todos los de la B.
Y cuando obtiene los que no estan en B, los añade en columna F.
*nota: Ahora que estoy redactando esto, acabo de pensar la comparación contraria, que quizá también pueda ocurrir. Acabo de añadir una nueva columna...
Aunque en mi macro (que no me funciona) no se contempla esta columna nueva.
¿Como se podría incorporar la comparativa en nueva columna 'H' de comparativa de B respecto a D?
Y por supuesto la pregunta inicial de la macro, La comparativa entre D respecto a B?
Esta es la macro sin el comentario de *nota.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Option Explicit
Sub compararlistados()
'definimos variales
Dim VlastfilB As Integer 'última fila columna B
Dim VlastfilD As Integer 'última fila columna D
Dim VcodB As String 'códigos columna B
Dim VcodD As String 'códigos columna D
Dim Vclav As Integer 'clave 0 igual 1 diferente
Dim i As Integer 'bucle For I
Dim j As Integer 'bucle Do While
Dim k As Integer 'contador para pegar resultados
Range("B500").Select
Selection.End(xlUp).Select
VlastfilB = ActiveCell.Row 'averiguamos la última fila de columna B
Range("D500").Select
Selection.End(xlUp).Select
VlastfilD = ActiveCell.Row 'averiguamos la última fila de columna D
k = 7 ' iniciamos esta variable para pegar los resultados desde la fila 7 en la columna F
For i = 7 To VlastfilD 'bucle recorriendo las filas de la columna D
VcodD = Cells(i, 7).Value 'almacenamos cada uno de los códigos de la columna D para compararlos con todos
'los de la columna A
j = 7 ' iniciamos la variable para el bucle desde la fila 7 de la columna B
Do While j <= VlastfilB 'hacer el bucle tantas veces como datos haya en la columna B
VcodB = Cells(j, 1).Value 'almacenamos en la variable cada código de la columna B
If VcodD = VcodB Then 'comparamos cada valor de la columna D con todos los de la B
Vclav = 1 ' le damos un valor 1 si encuentra uno igual
Exit Do ' Si es = 1 salir del Loop
Else
Vclav = 0 'si no encuentra uno igual le damos un valor 1
End If
j = j + 1 ' contador para el Loop
Loop
If Vclav = 0 Then 'si el valor de Vclav es igual a 0 entonces mostraremos los códigos nuevos
Cells(k, 6).Value = VcodB ' lo pegamos en la celda F7, k está iniciado en 7
k = k + 1 ' contador dentro de If que irá sumando de uno en uno desde 2
End If
Next i
Range("F7").Select
End Sub
¿Porque no me funciona esta macro comparativa de D a B?
Gracias
- ComparadorColumnas.zip(20,7 KB)
Valora esta pregunta


0