Код 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 для цього наконечника.

Попередня Стаття Наступна Стаття

Кращі Поради