首页 文章

根据另一个单元格的值定义范围

提问于
浏览
1

是否可以根据单元格中给出的值在VBA中定义范围?

例如,我有一个包含四列和不断变化的行数的数据集 . 我在单元格 F2 中有行数 . 假设单元格 F2 指示行数是 385 ,那么我能够 Range("A1:D385").Select ,但我希望选择最后一个单元格依赖于单元格 F2 .

因此,如果我将 F2 更改为 50 ,那么下次运行宏时,将选择 A1:D50 ,但是因为我想出来了 .

2 回答

  • 1

    最合适的方法就是这样

    Sub getRng()
    Dim Cval As Variant
    Dim Rng1 As Range
    Cval = ActiveSheet.Range("F2").Value
    Set Rng1 = ActiveSheet.Range("A1:D" & Cval)
    End Sub
    

    这会将 Rng1 设置为稍后可以在另一个函数中使用的对象

    Rng1.Select

    要么

    Rng1.Copy

  • 1

    这就是你要找的东西:

    Dim lastRow As Integer
    
    With ThisWorkbook.Sheets(1)
        lastRow = .Cells(.Rows.Count, "F").End(xlUp).row
        .range("A1:D" & lastRow).Select
    End With
    

    代码从下到上查找列F中的第一个非空单元格 . 类似于选择F列中的最后一个单元格并按Ctrl向上箭头 .

相关问题