Создать файл с актуальной информацией - VBA
Формулировка задачи:
Добрый вечер!
Имеется excel файл, напечатанного ниже формата:
Столбец "B" - наименование товара;
Столбец "C" - seo товара;
Столбец "D" - наименование товара;
Столбец "E" - seo товара.
Напишите пожалуйста макрос который:
Поочередно возьмёт ячейку столбца "B" - это наименование товара, который необходимо найти в массиве столбца "D", после найденного совпадения заменить значение seo в соседней ячейке искомого столбца "B" (в столбце "C"), на то, которое записано напротив найденного наименования столбца "D" (в столбце "E").
К примеру, исходник:
"B2" - Трактор 1 | "C2" - Трактор Старый | "D6" - Трактор 1 | "E6" Трактор Красный
К примеру, необходимый результат:
"B2" - Трактор 1 | "C2" - Трактор Красный | "D6" - Трактор 1 | "E6" Трактор Красный
P.S. Поменялось содержание ячейки "C2". При условии, что значение не найдено, необходимо оставить старое значение в столбце "C2".
Прикрепляю в файле во вложении, excel файл с поддержкой макросов в котором прописана логика с формулами, напишите пожалуйста макрос. У меня меняется файл исходник и количество заполненных строк. Имеет смысл хранить макрос в библиотеке.
Решение задачи: «Создать файл с актуальной информацией»
textual
Листинг программы
- Sub cc()
- Dim A, B, i&, j&
- With ActiveSheet
- A = .Range("b1", .Range("c:c").End(xlDown))
- B = .Range("d1", .Range("e:e").End(xlDown))
- For i = 2 To UBound(A, 1)
- For j = 2 To UBound(B, 1)
- If A(i, 1) = B(j, 1) Then A(i, 2) = B(j, 2): Exit For
- Next j
- Next i
- .Range("b1", .Range("c:c").End(xlDown)) = A
- End With
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д