
Comparacion entre dos listas VIsual Basic
Publicado por Cesar (1 intervención) el 02/01/2015 11:11:31
Muy buenas amigos, espero que me puedan ayudar, tengo una duda desde hace varios dias, quiero realizar una comparacion entre dos listas y obtener los datos que no son iguales,
Miren tengo dos listas que contienen las coordenadas de determinadas columnas de otra hoja de excel, la primera lista (lista general) tiene todas las coordenadas de las columnas, la segunda (lista especifica) tiene determinadas columnas, lo que se busca es comparar las dos listas y aquellas datos que sean diferentes se capture el valor (coordenada) y se proceda a ocultar la columna ejemplo:
Lista general Lista especifica
A:A B:B
B:B D:D
C:C
D:D
E:E
Esperado:
Lista ocultar
A:A
C:C
E:E
Mi algoritmo es asi :
-----------------------------------------------------------------------------------
Private Sub Funcional_Filtrar(rango_esp)
Dim rango_general, celda_general, rango_especifico, celda_especifica As Range
Set rango_general = Range("Lista general")
Set rango_especifico = Range("Lista especifica")
For Each celda_general In rango_general
For Each celda_especifica In rango_especifico
If (celda_general.Value = celda_especifica) Then
MsgBox ("celdas iguales")
Else
MsgBox ("Borrar columna")
Range(celda_general).Select
Selection.EntireColumn.Hidden = True
End If
Next celda_especifica
Next celda_general
End Sub
-----------------------------------------------------------------------------------
Espero me puedan ayudar
Un saludo
Miren tengo dos listas que contienen las coordenadas de determinadas columnas de otra hoja de excel, la primera lista (lista general) tiene todas las coordenadas de las columnas, la segunda (lista especifica) tiene determinadas columnas, lo que se busca es comparar las dos listas y aquellas datos que sean diferentes se capture el valor (coordenada) y se proceda a ocultar la columna ejemplo:
Lista general Lista especifica
A:A B:B
B:B D:D
C:C
D:D
E:E
Esperado:
Lista ocultar
A:A
C:C
E:E
Mi algoritmo es asi :
-----------------------------------------------------------------------------------
Private Sub Funcional_Filtrar(rango_esp)
Dim rango_general, celda_general, rango_especifico, celda_especifica As Range
Set rango_general = Range("Lista general")
Set rango_especifico = Range("Lista especifica")
For Each celda_general In rango_general
For Each celda_especifica In rango_especifico
If (celda_general.Value = celda_especifica) Then
MsgBox ("celdas iguales")
Else
MsgBox ("Borrar columna")
Range(celda_general).Select
Selection.EntireColumn.Hidden = True
End If
Next celda_especifica
Next celda_general
End Sub
-----------------------------------------------------------------------------------
Espero me puedan ayudar
Un saludo
Valora esta pregunta


0