从两个长数据类型中选择连续范围

时间:2019-06-14 05:19:49

标签: excel vba

我正在尝试使用两个长数据类型来获取连续范围,但我一直在获取并出现错误1004。

Private Sub SearchButton_Click()
'Finds the last non-blank cell in a single row or column

Dim lRow As Long
Dim lCol As Long

    'Find the last non-blank cell in column A(1)
    lRow = Cells(Rows.Count, 1).End(xlUp).Row

    'Find the last non-blank cell in row 1
    lCol = Cells(1, "S").Column

    ***Range("rRow", "rCol").Select***

End Sub

2 个答案:

答案 0 :(得分:1)

VBA不接受以逗号分隔的变量,这些变量用于字符串插入。变量传递时不带逗号。就像下面的代码一样。

使用此:

Private Sub SearchButton_Click()
'Finds the last non-blank cell in a single row or column

Dim lRow As Long
Dim lCol As Long

    'Find the last non-blank cell in column A(1)
    lRow = Cells(Rows.Count, 1).End(xlUp).Row

    'Find the last non-blank cell in row 1
    lCol = Cells(1, "S").Column

    Range(Cells(1, 1), Cells(lRow, lCol)).Select
End Sub

答案 1 :(得分:1)

您可以尝试:

代码:

Option Explicit

Private Sub SearchButton_Click()

    Dim lRow As Long, lCol As Long

    'Refer to you worksheet
    With ThisWorkbook.Worksheets("Sheet1")

        'Find Last row of column A (Based on the example answer is 4)
        lRow = .Cells(.Rows.Count, "A").End(xlUp).Row

        'Find last column of row 5 (Based on the example answer is 7)
        lCol = .Cells(5, .Columns.Count).End(xlToLeft).Column

        'Range select
       .Range(.Cells(1, 1), .Cells(lRow, lCol)).Select

    End With

End Sub

图片:

enter image description here