Перенести по условию - VBA (48687)
Формулировка задачи:
Добрый день!
Имеется excel файл, напечатанного ниже формата:Лист "Исходник":
Столбец "А" - код товара;Лист "Товар":
Столбец "K" - код товара;
Все остальные столбцы, помимо столбца K - информация о товаре;
Напишите пожалуйста макрос, который перенесёт строки с листа "Товар", - код товара которых совпадает с данными в ячейках:
Лист "Исходник", Столбец "А" = Лист "Товар", Столбец "K"
Пример содержания ячеек с кодом товара:
12414
12
18924
1441
На листе "Товар" заполнено около 50 тыс. строк;
Могут быть пустые ячейки на листе "Товар", столбец "K" - их пропускать;
Прикрепляю пример файла во вложении.
Решение задачи: «Перенести по условию»
textual
Листинг программы
Option Explicit Sub tt() Dim a, i&, t$ With CreateObject("scripting.dictionary"): .comparemode = 1 a = Sheets(1).UsedRange.Columns(1).Value For i = 1 To UBound(a) .Item(Trim(a(i, 1))) = i Next a = Sheets(2).UsedRange.Columns(11).Value For i = UBound(a) To 1 Step -1 t = Trim(a(i, 1)) If .exists(t) Then Sheets(2).Rows(i).Copy Sheets(1).Cells(.Item(t), 1): Sheets(2).Rows(i).Delete Next End With End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д