Вставить строки на основе значений ячейки столбца - PullRequest
0 голосов
/ 10 декабря 2018

Я новичок в VBA, просто стараюсь изо всех сил, поскольку мои требования не выполняются формулами.В зависимости от записи в ячейке E2..E3.. в столбце E новые строки будут вставлены в другой лист. Также скопируйте значения A, B и C из листа 1 в A, C, D листа 2 соответственно.Столбец B Листа 2 автоматически / сгенерирует номер позиции.например: если E2 = 2 в Sheet1, то необходимо добавить 2 новые строки с копированными данными A2, B2 и C2 Листа 1 в Sheet2.

Пожалуйста, проверьте прикрепленные изображения: Sheet1

Sheet2

Пройдя через справку форума, я попробовал немного кодирования, но это только для одного значения ячейки, но мне нужен код для работы с каждой ячейкойзначение.Что я не могу сделать.Кроме того, номер позиции (Col B) будет выглядеть как 3..2..1, а не 1..2..3.Пожалуйста, проверьте код: Код

С уважением, Криш

1 Ответ

0 голосов
/ 10 декабря 2018
'Hope this Works for you


Sub transfer_data()

Dim arr() As Variant
Dim cnt, n As Long
arr = Application.Transpose(Application.Transpose(Sheets("Sheet1").Range("A2:E22")))

n = 1
i = 0

For i = LBound(arr) To UBound(arr)
    Sheets("Sheet2").Range("A" & n).Value = arr(i, 1)
    Sheets("Sheet2").Range("B" & n).Value = arr(i, 5)
    Sheets("Sheet2").Range("c" & n).Value = arr(i, 3)
    Sheets("Sheet2").Range("D" & n).Value = arr(i, 2)
    cnt = arr(i, 5)
    n = n + cnt
Next i

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...