Eliminar o juntar filas usando MACROS

05/10/2007 - 22:14 por RP | Informe spam
Hola, deseo hacer una macro que al presionar un boton, me elimine o junto
registros que son iguales, pero que compare 2 columnas a la vez. Ej:

A1 B1
A2 B2
A1 B1
los A1y B1, se junten en un solo A1 Y B1 en una sola fila...

Espero recibir alguna respuesta.


Atte.

RP
 

Leer las respuestas

#1 David
05/10/2007 - 23:22 | Informe spam
Hola, RP.

Por lo que veo, manejas bien el código, así que te mando este ejemplo para
que lo adaptes a tu caso.

Parto del supuesto que sólo son dos columnas de datos, que el rango parte de
la celda A1, que en A1 y B1 están los títulos de las dos columnas, y que no
tienes filas o columnas en blanco en tu listado de datos. Bajo estas
condiciones, prueba con lo siguiente:

Sub Ordenar()
Dim C1 As String, R1 As String
Dim H1 As String, H2 As String, X1 As String, X2 As String, F1 As Long,
F2 As Long

C1 = "A1"
R1 = Replace(Range("C1").CurrentRegion.Address, "$", "")

Range(C1).Range(R1).Sort _
Key1:=Range(C1), _
Order1:=xlAscending, _
Key2:=Range(C1).Offset(0, 1).Range("A1"), _
Order2:=xlAscending, _
Header:=xlYes, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal

H1 = ActiveSheet.Name
Sheets.Add
H2 = ActiveSheet.Name
F1 = 2
F2 = 2
Sheets(H2).Cells(1, 1) = Sheets(H1).Cells(1, 1).Value
Sheets(H2).Cells(1, 2) = Sheets(H1).Cells(1, 2).Value
Do
If Sheets(H1).Cells(F1, 1).Value = X1 And Sheets(H1).Cells(F1,
2).Value = X2 Then
F1 = F1 + 1
Else
Sheets(H2).Cells(F2, 1) = Sheets(H1).Cells(F1, 1).Value
Sheets(H2).Cells(F2, 2) = Sheets(H1).Cells(F1, 2).Value
X1 = Sheets(H1).Cells(F1, 1).Value
X2 = Sheets(H1).Cells(F1, 2).Value
F2 = F2 + 1
F1 = F1 + 1
End If
Loop Until Len(Sheets(H1).Cells(F1, 1)) = 0
End Sub


Este Sub lo debes ejecutar teniendo activa la hoja en la cual se encuentra
tu listado de datos. El código ordenará tus datos, generará una nueva hoja,
en en ella copiará sólo las filas que no tengan repeticiones en ambas
columnas.

Saludos...



"RP" escribió:

Hola, deseo hacer una macro que al presionar un boton, me elimine o junto
registros que son iguales, pero que compare 2 columnas a la vez. Ej:

A1 B1
A2 B2
A1 B1
los A1y B1, se junten en un solo A1 Y B1 en una sola fila...

Espero recibir alguna respuesta.


Atte.

RP

Preguntas similares