Перенос данных из одного столбца в другой

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Yasam
Сообщения: 2
Зарегистрирован: 26 фев 2008, 11:31

Есть таблица вида:
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 и не знаю как подставить значение из одного столбца в другой в той же строке.
SAS888
Сообщения: 156
Зарегистрирован: 16 янв 2008, 08:28

Пусть данные находятся в столбце "А", тогда следующий макрос "разнесет" данные со столбца"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
Yasam
Сообщения: 2
Зарегистрирован: 26 фев 2008, 11:31

Похоже я не правильно дал вводные.
Вобщем нежен макрос типа:
for %i=1 to 100 DO
if D='Петров' in ('anyColumn') move D to G

Соответственно меняя условия c 'Петров' и G на 'Сидоров' и H я смогу получить таблицу где каждое значение будет иметь свою колонку, а если в данной строке небыло значений для этого столбца, то ячейка должна быть пустой.
В принципе можно даже не 'anyColumn', а любой конкретный или selected чтобы не нужно было ставить дополнительных условий.
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

План:
1. Необходимо сначала получить строчку уникальных значений из всего диапазона - это будет шапка для ориентирования.
2. Разнести данные всех строчек по этой шапке.
Ответить