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.