Как вставить в последовательные ряды - PullRequest
0 голосов
/ 03 февраля 2019
Sub NSV_LINK()
Dim cell As Range
Dim Rng As Range
Set Rng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))
For Each cell In Rng
If cell.Value = "Hemanta" Then cell.EntireRow.Copy Sheets(2).Cells(1, 1)
Next cell
End Sub

В приведенном выше коде я хочу, чтобы макрос копировал и вставлял значения в последовательные строки на листе 2. Однако я жестко закодировал целевую ячейку, т. Е. Значение вставляется в A1.Как записать назначение ячейки, чтобы значения вставлялись в последовательные строки?Клетки (я, 1) ... Как-то так.А затем я беру диапазон от, скажем, 1 до 20. Как мне написать это в коде?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

вы можете применить ту же технику, что вы уже использовали в Set Rng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp)), чтобы сделать диапазон назначения динамическим:

Sub NSV_LINK()
    Dim cell As Range, Rng As Range

    Set Rng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))
    For Each cell In Rng
        If cell.Value = "Hemanta" Then cell.EntireRow.Copy Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1) ' make destination range dynamic to target sheeet column A first not empty cell after last not empty one
    Next cell
End Sub
0 голосов
/ 03 февраля 2019

вам нужен счетчик, и вы должны увеличить его

Sub NSV_LINK()
Dim cell As Range, Rng As Range, r As Long
Set Rng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))
r = 1
For Each cell In Rng
    If cell.Value = "Hemanta" Then
        cell.EntireRow.Copy Sheets(2).Cells(r, 1)
        r = r + 1
    End If
Next cell
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...