Как динамически выбрать конкретную ячейку в Excel VBA с помощью цикла? - PullRequest
0 голосов
/ 13 декабря 2018

Ниже мой код

Sub Append()
    'Append data from other files
    Path = "E:\NPM PahseIII\"
    Filename = Dir(Path & "*.xlsx")
    If InStr(Filename, ".") > 0 Then
        Filenamenoext = Left(Filename, InStr(Filename, ".") - 1)
    End If
    MsgBox Filenamenoext
    Range("A3").Select
    Do While Filename <> ""
        ActiveCell.Value = Filenamenoext
    Loop
End Sub

Моя проблема в том, что, поскольку я выбрал Range("A3").Select, жестко запрограммирован, я хочу, чтобы этот выбор выполнялся динамически в цикле таким образом, чтобы при первой итерацииначало цикла должно выбрать Range("A3").Select и далее выбрать следующую ячейку в следующей итерации.Как я могу достичь этого?Отредактировано См. Изображение ниже image

1 Ответ

0 голосов
/ 13 декабря 2018

Как это (не проверено):

Sub Append()

    Const FPath As String = "E:\NPM PahseIII\"
    Dim c As Range, Filename 

    'find the first empty cell in ColA
    Set c = activesheet.cells(rows.count, 1).end(xlup).offset(1, 0)

    Filename = Dir(FPath & "*.xlsx")
    Do While Filename <> ""
        c.Value = Split(Filename, ".")(0) 'note: problem if any of your file names have embedded periods...
        Set c = c.offset(1, 0)
        Filename = Dir()
    Loop

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