Excel - Compararea celulei A1 cu întreaga coloană A din foaia 2

Problema

Am incercat sa compare foaia1 A2 la foaia2 A2 pana la A500 si daca exista undeva in foaia2 e un col apoi copiati intregul rand intr-o foaie noua.

Am experimentat multe fragmente de macrocomandă de la alții, dar până acum nici un succes real.

Stabilind cum să spun că în cod este un pic dificil pentru mine. Mă străduiesc să înțeleg asta.

sub compar ()

Dim LastRow_1 ca Integer

Dim LastCol_1 ca Integer

Dim Data_1 Ca domeniu

Dim LastRow_2 ca intreg

Dim LastCol_2 ca Integer

Dim Date_2 Ca domeniu

Dim Sh_1 Ca foaie de lucru

Dim Sh_2 Ca foaie de lucru

Dim X la fel de lung

Se diminuează atât de mult

Dim C_1 Ca domeniu

Dim C_2 Ca interval

Setați Sh_1 = ActiveWorkbook.Sheets ("Master")

Setați Sh_2 = ActiveWorkbook.Sheets ("Inventar")

LastRow_1 = Sh_1.range ("A5000"). Sfârșit (xlUp)

LastCol_1 = Sh_1.range ("A5000"). Sfârșit (xlToLeft). Coloană

Setați Data_1 = Sh_1.range ("A2"). Redimensionați (LastRow_1, LastCol_1)

LastRow_2 = Sh_2.range ("A5000"). Sfârșit (xlUp)

LastCol_2 = Sh_2.range ("A5000"). Sfârșit (xlToLeft). Coloană

Setați Date_2 = Sh_2.range ("A2"). Redimensionați (LastRow_2, LastCol_2)

Pentru fiecare C_1 din Data_1

Pentru fiecare C_2 în Data_2

Dacă C_2 = C_1 Apoi

"a găsit o celulă pe foaia2 care corespunde celulei din foaia1

"faceți acum ceea ce trebuie să faceți

Data_2.EntireRow.Copy Destinație: = Foaie de lucru ("New_Master"), interval ("A5000") End (xlUp) .Offset (1, 0)

Terminați Dacă

Următorul C_2

Următorul C_1

end sub

Când rulez acest lucru, doar copiază totul în foaia numită New_Master, inclusiv în non-matches.

Ce am lipsit? Trebuie să fie evident, de obicei este cazul.

Soluţie

Trebuie doar să scrieți:

 Data_2.EntireRow.Copy 

Copiați întregul interval "Data_2", care corespunde coloanei A din fișa "Inventar"

Dacă doriți să copiați numai rândurile din Data_2 care se potrivesc cu Data_1, scrieți

 C_2.EntireRow.Copy 

Asta e!

Notă

Mulțumită lui Ivan-hoe pentru acest sfat pe forum.

Articolul Precedent Articolul Următor

Cele Mai Importante Sfaturi