Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

comparar dos columnas para encontrar coincidencias

671 views
Skip to first unread message

gongi

unread,
May 13, 2010, 7:50:04 AM5/13/10
to
Hola Grupo! , saludos,

Uso esta macro para comparar dos columnas ,una se selecciona
manualmente y otra se establece en la variable CompareRange. Luego
coloca las coincidencias en otra columna "Then x.Offset(0, 7) "

Como este rango ['Set CompareRange = Range("B1:B500")] va aumentando ,
se podría establecer por código la última celda no vacia B1:-----
>BXXX ,?

Es que no consigo encajar la caracteristica End(xlDown)

Muchas gracias por la ayuda

Sub Find_Matches()

Dim CompareRange As Variant, x As Variant, y As Variant
' Set CompareRange equal to the range to which you will
' compare the selection.
'Set CompareRange = Range("B1:B500")
' NOTE: If the compare range is located on another workbook
' or worksheet, use the following syntax.
'
' Loop through each cell in the selection and compare it to
' each cell in CompareRange.
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 7) = x
Next y
Next x
End Sub


H�ctor Miguel

unread,
May 13, 2010, 8:50:36 PM5/13/10
to
hola, domingo !

> Uso esta macro para comparar dos columnas ,una se selecciona manualmente
> y otra se establece en la variable CompareRange.
> Luego coloca las coincidencias en otra columna "Then x.Offset(0, 7)"
> Como este rango ['Set CompareRange = Range("B1:B500")] va aumentando

> se podr�a establecer por c�digo la �ltima celda no vacia B1:-----BXXX ,?


> Es que no consigo encajar la caracteristica End(xlDown)

es probable que la siguiente macro se ejecute mas rapido sin dobles bucles "celda-por-celda" (?)

Sub CopiaExistentes()
Dim base As String
With Selection.Offset(, 7)
base = .Offset(, -7).Resize(1, 1).Address(0, 0)
.Formula = "=if(countif(b:b," & base & ")," & base & ","""")"
.Value = .Value
End With
End Sub

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

__ el codigo expuesto __

gongi

unread,
May 14, 2010, 3:28:43 AM5/14/10
to
On 14 mayo, 02:50, "Héctor Miguel" <NOhemiordiS...@PLShotmail.com>
wrote:

> hola, domingo !
>
> > Uso esta macro para comparar dos columnas ,una se selecciona manualmente
> > y otra se establece en la variable CompareRange.
> > Luego coloca las coincidencias en otra columna  "Then x.Offset(0, 7)"
> > Como este rango ['Set CompareRange = Range("B1:B500")] va aumentando
> > se podría establecer por código la última celda no vacia B1:-----BXXX  ,?


¡ pERFECTO !

Gracias Maestro , como siempre

0 new messages