Excel - Comparando la celda A1 con toda la columna A en la Hoja 2

Problema

He estado tratando de comparar sheet1 A2 con sheet2 A2 a través de A500 y si existe en algún lugar en sheet2 es una columna, copie toda la fila en una nueva hoja.

He experimentado con muchos bits de código macro de otros, pero hasta ahora no he tenido ningún éxito real.

Averiguar cómo decir eso en código es un poco difícil para mí. Estoy luchando para entender esto.

sub comparar ()

Dim LastRow_1 como entero

Dim LastCol_1 como entero

Dim Data_1 Como rango

Dim LastRow_2 como entero

Dim LastCol_2 como entero

Dim Data_2 como rango

Dim Sh_1 como hoja de trabajo

Dim Sh_2 como hoja de trabajo

Dim X tan largo

Dim Y tan largo

Dim C_1 Como rango

Dim C_2 como rango

Establecer Sh_1 = ActiveWorkbook.Sheets ("Master")

Establecer Sh_2 = ActiveWorkbook.Sheets ("Inventario")

LastRow_1 = Sh_1.range ("A5000"). End (xlUp) .Row

LastCol_1 = Sh_1.range ("A5000"). End (xlToLeft) .Column

Establecer datos_1 = Sh_1.range ("A2"). Cambiar tamaño (LastRow_1, LastCol_1)

LastRow_2 = Sh_2.range ("A5000"). End (xlUp) .Row

LastCol_2 = Sh_2.range ("A5000"). End (xlToLeft) .Column

Establezca Data_2 = Sh_2.range ("A2"). Redimensionar (LastRow_2, LastCol_2)

Para cada C_1 en datos_1

Para cada C_2 en Data_2

Si C_2 = C_1 entonces

'encontró una celda en la hoja 2 que coincidía con la celda en la hoja 1

'ahora haz lo que necesites hacer

Data_2.EntireRow.Copy Destino: = Hojas de trabajo ("New_Master"). Range ("A5000"). End (xlUp) .Oset (1, 0)

Terminara si

Siguiente C_2

Siguiente c_1

final sub

Cuando lo ejecuto, simplemente copia todo en la hoja llamada New_Master, incluidas las que no coinciden.

¿Qué me estoy perdiendo? Tiene que ser obvio, ese suele ser el caso.

Solución

Solo tienes que escribir:

 Data_2.EntireRow.Copy 

Copia todo el rango "Data_2", que corresponde a la columna A de la hoja "Inventario"

Si desea copiar solo las filas en Data_2 que coinciden con Data_1, escriba

 C_2.EntireRow.Copy 

¡Eso es!

Nota

Gracias a Ivan-hoe por este consejo en el foro.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos