Как вставить данные в следующую пустую ячейку справа? - PullRequest
0 голосов
/ 18 января 2020

Я хочу скопировать данные с листа1 на лист2, строка № 9 с одним условием. Данные должны быть вставлены в следующую пустую ячейку справа.

1 Ответ

0 голосов
/ 18 января 2020

Я написал процедуру, которая немного более общая, чем вопрос @FahmiYogyas. Предположим, что исходный диапазон является именованным диапазоном из одной или нескольких ячеек (здесь NamedRange1), а верхняя левая ячейка назначения является вторым именованным диапазоном (здесь NamedRange2).

Option Explicit
'
' start this as example
'
Sub test1()
    copyData Range("NamedRange1"), Range("NamedRange2")
End Sub

'
'
'
Sub copyData(sourceRange As Range, destinationRange As Range)
    Dim myCell As Range
    Dim columnOffset As Long
    Dim firstCell As Range
    Dim isFirst As Boolean
    '
    ' increase the column offset until the first destination cell is empty
    '
    Do While Not IsEmpty(destinationRange.Offset(0, columnOffset))
        columnOffset = columnOffset + 1
    Loop

    isFirst = True
    '
    ' now get the value of the source cells
    ' and insert it at the destination position
    ' offset is used to allow for arbitrary source ranges
    For Each myCell In sourceRange
        If isFirst Then
            Set firstCell = myCell
            isFirst = False
        End If

        destinationRange.Offset(myCell.Row - firstCell.Row, myCell.Column - firstCell.Column + columnOffset).Value = myCell.Value
    Next

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