Excel - Vergelijking van cel A1 tot volledig Een kolom in Blad 2

Kwestie

Ik heb geprobeerd om sheet1 A2 te vergelijken met sheet2 A2 tot en met A500 en als het ergens in sheet2's een kolom bevat, kopieer dan die hele rij naar een nieuw blad.

Ik heb met veel stukjes macrocode van anderen geëxperimenteerd maar tot nu toe geen echt succes.

Uitzoeken hoe ik dat in de code moet zeggen, vind ik een beetje moeilijk. Ik heb moeite om dit onder de knie te krijgen.

sub vergelijk ()

Dim LastRow_1 als geheel getal

Dim LastCol_1 As Integer

Dim Data_1 As range

Dim LastRow_2 As Integer

Dim LastCol_2 As Integer

Dim Data_2 Als bereik

Dim Sh_1 als werkblad

Dim Sh_2 Als werkblad

Dim X zo lang

Dim Y As Long

Dim C_1 Als bereik

Dim C_2 Als bereik

Set Sh_1 = ActiveWorkbook.Sheets ("Master")

Set Sh_2 = ActiveWorkbook.Sheets ("Voorraad")

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

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

Set Data_1 = Sh_1.range ("A2"). Formaat wijzigen (LastRow_1, LastCol_1)

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

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

Set Data_2 = Sh_2.range ("A2"). Resize (LastRow_2, LastCol_2)

Voor elke C_1 In Data_1

Voor elke C_2 in gegevens_2

Als C_2 = C_1 Dan

'vond een cel op sheet2 die overeenkwam met de cel in sheet1

'doe nu wat je moet doen

Data_2.EntireRow.Copy Bestemming: = Werkbladen ("New_Master"). Bereik ("A5000"). Einde (xlUp) .Offset (1, 0)

Stop als

Volgende C_2

Volgende C_1

einde sub

Wanneer ik dit uitvoer, wordt alles naar het blad New_Master gekopieerd, inclusief de niet-overeenkomsten.

Wat mis ik? Het moet duidelijk zijn, dat is meestal het geval.

Oplossing

Je hoeft alleen maar te schrijven:

 Data_2.EntireRow.Copy 

U kopieert het hele bereik "Data_2", wat overeenkomt met kolom A van het blad "Inventory"

Als u alleen de rijen in Data_2 wilt kopiëren die overeenkomen met Data_1, moet u schrijven

 C_2.EntireRow.Copy 

Dat is het!

Notitie

Dank aan Ivan-hoe voor deze tip op het forum.

Vorige Artikel Volgende Artikel

Top Tips