Comparar dos hojas

13/10/2007 - 15:10 por GR | Informe spam
Buen dia:

Necesito de su ayuda para comparar la hoja1 Vs Hoja2 ambas hojas tienen
datos desde la columna A hasta la J, son aproximadamente 4000 filas, y
solicito su valiosa ayuda para que las filas iguales de la hoja1 y hoja2 me
las pase a la hojaIguales y las filas que sean diferentes me las pase a la
hoja diferentes.

Agradezco de antemano su valiosa ayuda, ya que como veran son muchisimas las
filas a comparar.

Que tengan un buen fin de semana.


Saludos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/10/2007 - 08:01 | Informe spam
hola, !

Necesito... comparar la hoja1 Vs Hoja2... datos desde la columna A hasta la J... aproximadamente 4000 filas
... que las filas iguales de la hoja1 y hoja2... las pase a la hoja Iguales y las filas... diferentes... a la hoja diferentes...



1) si existieran dos (o mas) registros "iguales" (en todas sus columnas) en la hoja1...
que tambien se encuentre/n (al menos una vez) en la hoja2 (o viceversa)...
-> se deben pasar los dos (o mas) registros a la hoja "iguales" ???

2) alguna "idea" del tipo de datos que contienen las columnas ?

saludos,
hector.
Respuesta Responder a este mensaje
#2 GR
14/10/2007 - 08:35 | Informe spam
Hector, muchas gracias por responder:

1) si existieran dos (o mas) registros "iguales" (en todas sus columnas) en la hoja1...
que tambien se encuentre/n (al menos una vez) en la hoja2 (o viceversa)...
-> se deben pasar los dos (o mas) registros a la hoja "iguales" ???



Los registros deben ser iguales en todas sus columnas de la hajo1 Vs hoja2 o
viceversa para que pasen a la hoja iguales, si no son iguales en todas sus
columnas pasan a la hoja diferentes.

2) alguna "idea" del tipo de datos que contienen las columnas ?


Las columnas contienen datos de facturacion del programa SAE que se utiliza
para facturar, lo que hago es exportar las ventas del mes a txt y luego las
importo a excel

Un de los problemas es que luego se equivocan en la fecha capturan por
ejemplo 14-ene-07 con el folio 250 se dan cuenta que la fecha tuvo que haber
sido 14-oct-07 vuelven a facturar pero ahora con punto adelante o atras del
folio y ponen la fecha correcta pero luego se les olvida y no cancelan el
folio del 14-ene-07, provocando que se duplique la facturacion u otro
problema en suelen equicovarse con el numero de serie del folio y me
encontrado el mismo folio pero con diferente serie

Los folios que se utlizan son sin serie, serie A a la serie G

Las columnas se integran de la siguiente manera
Docto. Cliente St. Fecha Importe Descuento
Desc. financiero Impuesto Flete Total

Saludos
Respuesta Responder a este mensaje
#3 Héctor Miguel
14/10/2007 - 23:17 | Informe spam
hola, !

Las columnas contienen datos de facturacion del programa SAE que se utiliza para facturar
lo que hago es exportar las ventas del mes a txt y luego las importo a excel
Un de los problemas es que... se equivocan en la fecha... vuelven a facturar... con punto adelante o atras del folio
y ponen la fecha correcta pero... se les olvida y no cancelan... provocando que se duplique la facturacion
otro problema en suelen equicovarse con el numero de serie del folio y me encontrado el mismo folio pero con diferente serie..



con el entendido de que los datos estan en las columnas A -> J (numero de filas "desconocido") iniciando en la fila 2
estoy suponiendo que tampoco el nombre de las hojas ("hoja1", "hoja2", "iguales", "diferentes") sea siempre el mismo -?-
por lo que las dejo como variables (constantes) al inicio del codigo (solo indicas las correctas una vez)
ya que el "truco" esta en poder armar una formula para que los filtros avanzados puedan hacer su trabajo
y es necesario que la columna K este vacia en todas sus filas, que la celda L1 tambien este vacia y trabajar con la celda L2

corre algunas pruebas y, si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

' en un modulo de codigo normal =Const Primera As String = "hoja1", Segunda As String = "hoja2", _
Iguales As String = "iguales", Diferentes As String = "diferentes"
Sub Filtra_Des_Iguales()
Dim Formula1 As String, Formula2 As String, Ultima As Integer
Formula1 = _
"and(countif(" & Segunda & "!a:a,a2),countif(" & Segunda & "!b:b,b2)," & _
"countif(" & Segunda & "!c:c,c2),countif(" & Segunda & "!d:d,d2)," & _
"countif(" & Segunda & "!e:e,e2),countif(" & Segunda & "!f:f,f2)," & _
"countif(" & Segunda & "!g:g,g2),countif(" & Segunda & "!h:h,h2)," & _
"countif(" & Segunda & "!i:i,i2),countif(" & Segunda & "!j:j,j2))"
Formula2 = Application.Substitute(Formula1, Segunda, Primera)
With Worksheets(Primera)
.Range("l2").Formula = "=" & Formula1
.Range("a1").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("l1:l2"), _
CopyToRange:=Worksheets(Iguales).Range("a1:j1")
With .Range("l2"): .Formula = "=not(" & Formula1 & ")": End With
.Range("a1").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("l1:l2"), _
CopyToRange:=Worksheets(Diferentes).Range("a1:j1")
.Range("l2").ClearContents
With Worksheets(Diferentes).Range("a2")
.EntireRow.Insert
.Offset(-1) = "De la hoja " & Primera & " que NO estan en la hoja " & Segunda
.Offset(-1).HorizontalAlignment = xlHAlignGeneral
End With
End With
Worksheets(Iguales).UsedRange.Columns.AutoFit
With Worksheets(Diferentes)
.UsedRange.Columns.AutoFit
Ultima = .Cells.Find("*", .Cells(1), xlValues, xlWhole, xlByRows, xlPrevious).Row
End With
With Worksheets(Segunda)
.Range("l2").Formula = "=not(" & Formula2 & ")"
.Range("a1").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("l1:l2"), _
CopyToRange:=Worksheets(Diferentes).Range("a1:j1").Offset(Ultima)
.Range("l2").ClearContents
End With
With Worksheets(Diferentes).Range("a" & Ultima + 1)
.EntireRow.ClearContents
.Value = "De la hoja " & Segunda & " que NO estan en la hoja " & Primera
.HorizontalAlignment = xlHAlignGeneral
End With
End Sub
Respuesta Responder a este mensaje
#4 GR
15/10/2007 - 04:54 | Informe spam
Hector Miguel

Mil gracias por tu valiosa ayuda, hecho algunas pruebas y si me ha
funcionado de maravilla tu macro, cualquier cosa te comento.

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida