Есть таблица вида:
Product1 10 15 25 35
Product2 20 25 30 35
Product3 10 25 30 35
Product4 10 15 25
Product5 15 20
Как можно перенести все значения по своим столбцам?
т.е. должна получаться таблица вида:
Product1 10 15 -- 25 -- 35
Product2 -- -- 20 25 30 35
Product3 10 -- -- 25 30 35
Product4 10 15 -- 25
Product5 -- 15 20
В принципе подошел бы и простой макрос cut & pase для каждого значения, но я полный 0 в VBA и не знаю как подставить значение из одного столбца в другой в той же строке.
Перенос данных из одного столбца в другой
Модератор: Naeel Maqsudov
Пусть данные находятся в столбце "А", тогда следующий макрос "разнесет" данные со столбца"B" и дальше. Обязательные условия: данные в строке разделены пробелами, числа кратные 5.
Код: Выделить всё
Sub Main()
Dim i As Long, j As Long, a
For i = 1 To Cells(Columns("A").Rows.Count, "A").End(xlUp).Row
a = Split(Cells(i, "A"))
Cells(i, "A") = a(0)
For j = 1 To UBound(a)
Cells(i, a(j) / 5) = a(j)
Next
Next
End Sub
Похоже я не правильно дал вводные.
Вобщем нежен макрос типа:
for %i=1 to 100 DO
if D='Петров' in ('anyColumn') move D to G
Соответственно меняя условия c 'Петров' и G на 'Сидоров' и H я смогу получить таблицу где каждое значение будет иметь свою колонку, а если в данной строке небыло значений для этого столбца, то ячейка должна быть пустой.
В принципе можно даже не 'anyColumn', а любой конкретный или selected чтобы не нужно было ставить дополнительных условий.
Вобщем нежен макрос типа:
for %i=1 to 100 DO
if D='Петров' in ('anyColumn') move D to G
Соответственно меняя условия c 'Петров' и G на 'Сидоров' и H я смогу получить таблицу где каждое значение будет иметь свою колонку, а если в данной строке небыло значений для этого столбца, то ячейка должна быть пустой.
В принципе можно даже не 'anyColumn', а любой конкретный или selected чтобы не нужно было ставить дополнительных условий.
План:
1. Необходимо сначала получить строчку уникальных значений из всего диапазона - это будет шапка для ориентирования.
2. Разнести данные всех строчек по этой шапке.
1. Необходимо сначала получить строчку уникальных значений из всего диапазона - это будет шапка для ориентирования.
2. Разнести данные всех строчек по этой шапке.