#vba #excel
#vba #excel
Вопрос:
Я пытался написать макрос для изменения порядка ячеек в строках и столбцах таблиц Stock для получения желаемого результата. К счастью, исходные таблицы, как правило, одинаковы каждый раз (разные имена и значения), и желаемый результат — один и тот же формат..
Вот несколько примеров данных.
A
1 Имя
2 описание
3 описание
4 описание
5 описание
6 Идентификатор #: 56284
7 Количество на складе: 34
8 Увеличьте масштаб и настройте
B
1 Имя
2 описание
3 описание
4 описание
5 описание
6 Идентификатор #: 56284
7 Количество на складе: 50
8 Увеличьте масштаб и настройте
И я хотел бы, чтобы выходные данные отображались примерно так (если возможно, на лист2, начинающийся с ячейки B2):
B C E
B — строка 1
C — это объединенные строки 2, 3, 4 и 5
E — это ПРОСТО значение запаса в строке 7, т. Е. 50
В одной электронной таблице было бы 4 столбца и 8 строк, которые мне пришлось бы изменить.. Итого получается 32.
Было бы здорово автоматизировать это, поэтому мы будем очень признательны за любую помощь.
Ответ №1:
Позвольте мне прояснить мое понимание. Для каждого столбца требуется следующий формат данных:
A A
1 Name 1 Name
2 Desc1 2 Desc1; Desc2; Desc3; Desc4
3 Desc2 On sheet 2 3 50
4 Desc3 --------------->
5 Desc4
6 Id#: 56284
7 Quantity in Stock: 50
8 Zoom in and configure
В этом случае вы можете использовать следующий код. Предполагается, что ваши данные находятся в A1-D8 на листе 1.
Sub FormatData()
Dim col As Integer
For col = 1 To 4
With Worksheets(2)
.Cells(1, col) = Cells(1, col) //Get name
.Cells(2, col) = Cells(2, col) amp; "; " amp; Cells(3, col) amp; "; " amp; Cells(4, col) amp; "; " amp; Cells(5, col) //Concatenate descriptions into single string
.Cells(3, col) = Cells(7, col) //Get quantity in stock
End With
Next col
End Sub