Как найти имя столбца первой пустой ячейки в строке? - PullRequest
0 голосов
/ 10 апреля 2020

Это мой пример данных. my data looks like this

Я хочу выбрать первую пустую ячейку в строке 1, которая является столбцом D, и использовать это имя столбца для заполнения данных с использованием функции диапазона. Проще говоря, я хочу заполнить данные в D2: D3. Я написал такой код, но он записывает данные в C2: C3, а не в D2: D3.

    Dim row As Long
    Dim lastrow As Long
    Dim lastcolumn As Variant

    lastcolumn = Split(Workbooks("Release.xlsm").Worksheets("Sheet4").Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Cells.Address(1, 0), "$")(0)
lastrow = Workbooks("Release3.xlsm").Worksheets("Sheet4").Cells(Rows.Count, 1).End(xlUp).row
    For row = 2 To lastrow

        Range(lastcolumn & row).Value = "success"

    Next

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

вам не нужно l oop, просто используйте свойство Value во всем диапазоне

Dim lastRow As Long
Dim lastColumn As Variant

With Workbooks("Release.xlsm").Worksheets("Sheet4")
    lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
    lastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1

    .Range(.Cells(2, lastColumn), .Cells(lastRow, lastColumn)).Value = "success"
End With
0 голосов
/ 10 апреля 2020

Это способ: -

Dim R As Long                       ' "row" is reserved for Excel's use
Dim lastRow As Long
Dim lastColumn As Variant

With Workbooks("Release.xlsm").Worksheets("Sheet4")
    ' observe the leading period in ".Rows.Count"
    lastRow = .Cells(.Rows.Count, 1).End(xlUp).row
    lastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1

    For R = 2 To lastRow

        .Cells(R, lastColumn).Value = "success"

    Next
End With

Разница между lastRow и lastColumn в вашей настройке заключается в том, что вы хотите знать последнюю использованную строку, но следующую свободную колонку. [next free] = [последний использованный] + 1. Я думаю, что ваша штуковина на самом деле работает - не проверяла - но выше приведен более основной поток.

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