Excel - Usporedba ćelije A1 s cijelim stupcem A u Sheet 2

Problem

Ja sam bio težak to usporediti sheet1 A2 to sheet2 A2 do A500 i ako postoji negdje u sheet2 je col zatim kopirati taj cijeli redak na novi list.

Eksperimentirao sam s mnogo bitova makro koda od drugih, ali do sada nema pravog uspjeha.

Shvatiti kako reći da je u kodu malo teško za mene. Borim se da se ovladam ovim.

podparata ()

Dim LastRow_1 Kao cijeli broj

Dim LastCol_1 kao cijeli broj

Dim Data_1 As range

Dim LastRow_2 Kao cijeli broj

Dim LastCol_2 Kao cijeli broj

Dim Data_2 As range

Dim Sh_1 kao radni list

Dim Sh_2 Kao radni list

Dim X jednako dugo

Dim Y kao dugo

Dim C_1 As range

Dim C_2 As range

Postavi Sh_1 = ActiveWorkbook.Sheets ("Master")

Postavi Sh_2 = ActiveWorkbook.Sheets ("Inventar")

LastRow_1 = Sh_1.range ("A5000"). Kraj (xlUp)

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

Postavi Data_1 = Sh_1.range ("A2"). Promjena veličine (LastRow_1, LastCol_1)

LastRow_2 = Sh_2.range ("A5000") Kraj (xlUp)

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

Postavi Data_2 = Sh_2.range ("A2"). Promjena veličine (LastRow_2, LastCol_2)

Za svaki C_1 u Data_1

Za svaki C_2 u Data_2

Ako je tada C_2 = C_1

'pronašao je ćeliju na listu2 koja se podudara s ćelijom u listu1

'učini ono što treba

Data_2.EntireRow.Copy Destination: = Radni listovi ("New_Master"). Raspon ("A5000"). Kraj (xlUp). Offset (1, 0)

Završi ako

Sljedeći C_2

Sljedeći C_1

kraj sub

Kada ovo pokrenem, samo kopira sve na list pod nazivom New_Master, uključujući i ne-podudaranja.

Što mi nedostaje? To mora biti očito, to je obično slučaj.

Riješenje

Samo napišite:

 Data_2.EntireRow.Copy 

Kopirate cijeli raspon "Data_2", što odgovara stupcu A lista "Inventar"

Ako želite kopirati samo retke u Data_2 koji se podudaraju s Data_1, napišite

 C_2.EntireRow.Copy 

To je to!

Bilješka

Zahvaljujući Ivan-hoe za ovaj savjet na forumu.

Prethodni Članak Sljedeći Članak

Top Savjeta