Kod VBA menyalin data daripada satu helaian kepada yang lain
Isu
Saya memerlukan kod VBA yang boleh menyalin data dari sheet1 (data mentah) ke lembaran 2, sheet3 dan sebagainya ... berdasarkan keadaan tertentu perlawanan.
lajur --- A ------------ B ------------ C ------------ D ------ -E
----------- nama ----- tempat ---- syarikat --- negara
----------- name1 ---- AB ------- Nokia ------- USA
----------- name2 ---- CD ------- Sony -------- UK
----------- name3 ----- EF ------- LG ----------- INDIA
----------- name4 ----- AB ------ Sony ------ RUSSIA
----------- name5 ----- AB ------ Sony ------ GERMANY
----------- name6 ----- CD ------ Nokia ------ INDIA
----------- name7 ----- CD ------ Ericsson - Amerika Syarikat
----------- name8 ----- EF ------ Ericsson ---- RUSSIA
----------- name9 ----- GH ------ Lenore ----- UK
----------- name10 --- GH ------- HP --------- INDIA
Penyelesaian
Anda boleh menggunakan kod berikut
Sub SplitSheets () Dim DataSht, wsCrit, SplitSht Sebagai Lembar Kerja LrUnq, lrData, i Sebagai Long Dim FtrVal Sebagai Aplikasi String.ScreenUpdating = Set Palsu DataSht = Lembar Kerja ("sheet1") 'mengubahnya menjadi nama lembaran data mentah lrData = DataSht.Range ("a" & Rows.Count) .End (xlUp) .Row Set wsCrit = Worksheets.Add DataSht.Range ("B1: l" & lrData) .AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = wsCrit Range ("A1"), Unik: = True lrUnq = wsCrit.Range ("a" & Rows.Count) .End (xlUp) .Row For i = 2 To lrUnq FtrVal = wsCrit.Range ("A" & i ) .Value Set SplitSht = Worksheets.Add DataSht.Select 'DataSht.ShowAllData ActiveSheet.AutoFilterMode = False ActiveSheet.Range ("A1: Z" & lrData) .AutoFilter Field: = 2, Criteria1: = Range FtrVal ("a1") Pilih Seleksi (Pemilihan, Seleksi.End (xlToRight)) Pilih Julat Pilih Seleksi, Seleksi.End (xlDown)). Pilih Selection.Copy SplitSht.Select Range ("A1"). .EntireColumn.AutoFit SplitSht.Name = FtrVal Application.CutCopyMode = False Next i App lication.DisplayAlerts = Palsu wsCrit.Delete Application.DisplayAlerts = Benar .AutoFilterMode = Palsu Akhir Sub
Terima kasih kepada RWomanizeruntuk hujung ini.