Свойства в один столбец - VBA
Формулировка задачи:
Добрый день!
Имеется excel файл напечатанного ниже формата:
Строка "1"
- Заголовки информации о товаре; Начиная со строки "2", построчно идут разные товары;Столбцы от "A" до "С"
- uid, наименование, категория - товара; // эти значения должны остаться не тронутыми; Начинаяот столбца "D"
- идут свойства товара, в каждом новом столбце, новое свойство; - Для разных товаров могут быть заполнены значения свойства товара либо значения свойства товара будут отсутствовать. Напишите пожалуйста макрос который создаст новую страницу "Необходимый результат", на эту страницу скопирует скопируетСтолбцы от "A" до "С"
и рядом в столбце "D" создаст столбец "для всех свойств" - то бишь это необходимо для того чтобы рядом с товаров все свойства товара и его значения размещались в одной ячейке столбца "D" и название + значения свойства разделялись символом двоеточие ":", а сами свойства разделялись точкой с запятой ";". Пример файла исходник прикладываю в файле во вложении. В оригинале строк тысячи, а столбцов сотни (редактировать придётся часто).Решение задачи: «Свойства в один столбец»
textual
Листинг программы
Sub pr() Dim i&, j& a = Cells(1, 1).CurrentRegion.Value For i = 2 To UBound(a) For j = 4 To 6 If Not IsEmpty(a(i, j)) Then a(i, j) = a(1, j) & ":" & a(i, j) If j > 4 Then a(i, 4) = a(i, 4) & IIf(IsEmpty(a(i, 4)) Or IsEmpty(a(i, j)), "", ";") & IIf(IsEmpty(a(i, j)), "", a(i, j)) Next Next a(1, 4) = "Свойства" Sheets.Add Cells(1, 1).Resize(UBound(a), 4) = a End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д