Een VBA-code om gegevens van het ene blad naar het andere te kopiëren

Kwestie

Ik heb een VBA-code nodig die gegevens van sheet1 (onbewerkte gegevens) naar sheet 2, sheet3 enzovoort kan kopiëren ... op basis van een bepaalde voorwaarde.

kolom A --- B ------------ ------------ ------------ C D ------ -E

----------- naam ----- plaats ---- bedrijf --- land

----------- name1 ---- AB ------- Nokia ------- USA

----------- name2 ---- CD ------- Sony -------- UK

----------- NAME3 ----- EF ------- LG ----------- INDIA

----------- NAME4 ----- AB ------ Sony ------ RUSLAND

----------- name5 ----- AB ------ Sony ------ DUITSLAND

----------- name6 ----- CD ------ Nokia ------ INDIA

----------- naam7 ----- CD ------ Ericsson - USA

----------- name8 ----- EF ------ Ericsson ---- RUSLAND

----------- name9 ----- GH ------ Lenore ----- UK

----------- name10 --- GH ------- HP --------- INDIA

Oplossing

U kunt de volgende codes gebruiken

 Sub SplitSheets () Dim DataSht, wsCrit, SplitSht As werkblad Dimension lrUnq, lrData, i As Long Dim FtrVal As String Application.ScreenUpdating = False Set DataSht = Werkbladen ("sheet1") 'verander het in de naam van uw onbewerkte data sheet lrData = DataSht.Range ("a" & Rows.Count). End (xlUp). Row Stel wsCrit = Worksheets in. Voeg DataSht.Range toe ("B1: l" & lrData) .AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = wsCrit .Range ("A1"), Unique: = True lrUnq = wsCrit.Range ("a" & Rows.Count). End (xlUp). Row For i = 2 To lrUnq FtrVal = wsCrit.Range ("A" & i ). Waarde Stel SplitSht = Worksheets in. Voeg DataSht toe.Selecteer 'DataSht.ShowAllData ActiveSheet.AutoFilterMode = False ActiveSheet.Range ("A1: Z" & lrData) .AutoFilter Field: = 2, Criteria1: = FtrVal Range ("a1") . Selecteer Bereik (Selectie, Selectie.Einde (xlToRight)) Selecteer Bereik (Selectie, Selectie.Einde (xlDown)) Selecteer Selectie.Kopieer SplitSht.Selecteer Bereik ("A1"). Selecteer ActiveSheet.Paste 'Cellen.Selecteer Cellen .EntireColumn.AutoFit SplitSht.Name = FtrVal Application.CutCopyMode = False Volgende i-app lication.DisplayAlerts = False wsCrit.Delete Application.DisplayAlerts = True .AutoFilterMode = False End Sub 

Bedankt aan RWomanizer voor deze tip.

Vorige Artikel Volgende Artikel

Top Tips