charlyriver | |
| 2007-08-27 09:55 - Respuestas: 1 - Tema nº: 2464477
Características: Windows XP Profesional, Atlon 1800.
Hola a todos:
Tengo una hoja de excel con los datos de ventas por cliente de 2005, y otra con los datos de 2006. Resumiendo serian dos columnas en cada hoja A = Nº de cliente, B = Importe ventas.
Quiero comparar las dos hojas para que me salgan los importes de venta de cada cliente en la misma fila, pero puede que haya clientes en 2005 que no estén en 2006 y viceversa.
¿Como podría hacer esto facilmente?
| |
|
|
ebolo | |
|
Re: Comparar tablas en Excel - 2007-08-27 12:18 - Respuesta 2
Hola charlyriver, coloca 1 botón de comando en la hoja que quieras y pon el siguiente código en su evento.
Private Sub CommandButton1_Click()
'- HOJA4 es la hoja en la que copiamos todos los datos. -'
'- HOJA2 es la hoja que tiene los datos de 1 año. -'
'- HOJA3 es la hoja que tiene los datos de otro año. -'
Dim t, r, y As Long
Dim coincide As Boolean
'Copiamos HOJA2 en HOJA4
For t = 1 To Worksheets("Hoja2").Range("A1").End(xlDown).Row
Worksheets("Hoja4").Range("A" & t) = Worksheets("Hoja2").Range("A" & t)
Worksheets("Hoja4").Range("B" & t) = Worksheets("Hoja2").Range("B" & t)
Next t
'Copiamos HOJA3 en HOJA4, mirando primero si coincide algún valor,
'si no coincide copiamos al final de HOJA4.
For t = 1 To Worksheets("Hoja3").Range("A1").End(xlDown).Row
coincide = False
For r = 1 To Worksheets("Hoja4").Range("A1").End(xlDown).Row
If Worksheets("Hoja4").Range("A" & r) = Worksheets("Hoja3").Range("A" & t) Then
Worksheets("Hoja4").Range("C" & r) = Worksheets("Hoja3").Range("B" & t)
coincide = True
Exit For
End If
Next r
If coincide = False Then
y = Worksheets("Hoja4").Range("A1").End(xlDown).Row + 1
Worksheets("Hoja4").Range("A" & y) = Worksheets("Hoja3").Range("A" & t)
Worksheets("Hoja4").Range("C" & y) = Worksheets("Hoja3").Range("B" & t)
End If
Next t
End Sub
Compruébalo a ver si te funciona.
Saludos
Edito para cambiar una letra que no salía bien.
[Mensaje editado por ebolo con fecha: 27-08-2007 19:03:22]. | |
|
|
|