Код VBA для умовного копіювання даних з одного аркуша в інший
Проблема
Мені потрібен код VBA, який може копіювати дані з аркуша1 (необроблені дані) до аркуша 2, аркуша3 і так далі ... на основі певних умов відповідності.
колонка --- A ------------ B ------------ C ------------ D ------ -E
----------- ім'я ----- місце ---- компанія --- країна
----------- name1 ---- AB ------- Nokia ------- США
----------- name2 ---- CD ------- Sony -------- Великобританія
----------- name3 ----- EF ------- LG ----------- ІНДІЯ
----------- name4 ----- AB ------ Sony ------ РОСІЯ
----------- name5 ----- AB ------ Sony ------ ГЕРМАНІЯ
----------- name6 ----- CD ------ Nokia ------ Індія
----------- name7 ----- CD ------ Ericsson - США
----------- ім'я8 ----- EF ------
----------- name9 ----- GH ------ Lenore ----- Великобританія
----------- name10 --- GH ------- HP --------- ІНДІЯ
Рішення
Можна використовувати наступні коди
Sub SplitSheets () Dim DataSht, wsCrit, SplitSht Як лист Dim lrUnq, lrData, i Як довго Dim FtrVal As String Application.ScreenUpdating = False Set DataSht = Листи ("sheet1") 'змініть його на назву вашого аркуша даних = DataSht.Range ("a" & Rows.Count) .End (xlUp) .Row Set wsCrit = Worksheets.Add DataSht.Range ("B1: l" & lrData). .Range ("A1"), унікальний: = True lrUnq = wsCrit.Range ("a" & Rows.Count). End (xlUp) .Row Для i = 2 До lrUnq FtrVal = wsCrit.Range ("A" & i Позначення SplitSht = Worksheets.Add DataSht.Select 'DataSht.ShowAllData ActiveSheet.AutoFilterMode = False ActiveSheet.Range ("A1: Z" & lrData). Виберіть Діапазон (Вибір, Вибір.Завершити (xlDown)) .Виберіть Діапазон вибору (Копіювати). .EntireColumn.AutoFit SplitSht.Name = FtrVal Application.CutCopyMode = Помилка далі lication.DisplayAlerts = False wsCrit.Delete Application.DisplayAlerts = True. AutoFilterMode = Sub false
Завдяки RWomanizer для цього наконечника.