Выберите столбец G, используя FirstRow и LastRow - PullRequest
1 голос
/ 27 февраля 2020

У меня проблемы со строкой кода. Я хочу выбрать столбец в таблице данных на основе FirstRow и LastRow, я могу найти FirstRow и LastRow, я использую код ниже:

Firstrow = Cells(Rows.Count, 1).End(xlUp).End(xlUp).Row
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Rows(Firstrow & ":" & LastRow).Select

Когда я запускаю этот код, он выбирает FirstRow и LastRow, но для всех столбцов. Мне нужно использовать это только для выбора столбца G. Я попытался добавить это в коде:

Rows(Firstrow & "G:G" & LastRow).Select

Но это дает мне ошибку: Несоответствие типов.

Я также пробовал внести коррективы в операторы FirstRow и LastRow:

Firstrow = Cells(Rows.Count, 7).End(xlUp).End(xlUp).Row
LastRow = Cells(Rows.Count, 7).End(xlUp).Row

Но это тоже не работает.

Кто-нибудь сталкивался с этим? Желательно, чтобы я мог настраивать столбец в функции выбора, а не в FirstRow и LastRow, потому что мне нужно выбрать другие столбцы позже.

Ответы [ 2 ]

2 голосов
/ 27 февраля 2020

Вместо этого используйте Range, поскольку вы не пытаетесь выделить целые строки:

Range("G" & Firstrow & ":G" & LastRow).Select

Для использования в формуле SUM:

Range("G" & LastRow).Formula = "=SUM(G" & FirstRow & ",G" & LastRowSumC & ")"
0 голосов
/ 27 февраля 2020

Вы можете попробовать:

Sub test()

    Dim ColumnNo As Long, FirstRow As Long, LastRow As Long
    Dim ColumnLet As String

    'Create a with statement with the sheet1 you want
    With ThisWorkbook.Worksheets("Sheet1")

        'Import the columne Letter you want
        ColumnLet = "G"
        'Convert column letter to column number
        ColumnNo = Range(ColumnLet & 1).Column

        'Find FirstRow
        FirstRow = .Cells(.Rows.Count, ColumnNo).End(xlUp).End(xlUp).Row
        'Find LastRow
        LastRow = .Cells(.Rows.Count, ColumnNo).End(xlUp).Row

        'Select the range
        .Range(.Cells(FirstRow, ColumnNo), .Cells(LastRow, ColumnNo)).Select

    End With

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