首页 > 解决方案 > VBA 使用单元格值而不是单元格名称

问题描述

我知道当我有单元格名称时我可以选择一个范围。例如Range(A1:B30).select在 VBA 中。

有没有办法选择在单元格中写入值的范围?我知道以下代码不起作用,但只有您知道我的意思。Range(217:216,9).select.

我想搜索一个值并指定范围,但我该怎么做?

我已经在网上搜索过,但找不到解决方案。我也尝试记录宏,但它只记录了带有单元名称的代码。我是 VBA 新手,在其他地方找不到我的问题的解决方案。我希望你能明白我的意思。

标签: vbaexcel

解决方案


假设我们有:

在此处输入图像描述

我们想要值在(包括)1020之间的范围。这段代码:

Sub RangeFromValues()
    Dim v1 As Long, v2 As Long
    Dim r1 As Range, r2 As Range, rng As Range

    v1 = 10
    v2 = 20
    Set r1 = Range("A:A").Find(what:=v1, after:=Range("A1"))
    Set r2 = Range("A:A").Find(what:=v2, after:=r1)

    Set rng = Range(r1, r2)
    rng.Select
End Sub

将产生:

在此处输入图像描述


推荐阅读