Excel 使用变量引用范围

Excel 使用变量引用范围,excel,vba,Excel,Vba,我绝对讨厌这个靶场。它如何读取单元格引用?在下面的代码中,我试图搜索工作表上最后一个被占用的列。因此,我从第1000列开始,一直到第1列: EndCol = 1001: Do EndCol = EndCol - 1 Set rScanArea = .range(.Cells(1, EndCol), .Cells(1048576, EndCol)) Loop While WorksheetFunction.CountA(rScanArea) = 0 and EndCol >

我绝对讨厌这个靶场。它如何读取单元格引用?在下面的代码中,我试图搜索工作表上最后一个被占用的列。因此,我从第1000列开始,一直到第1列:

EndCol = 1001: Do
    EndCol = EndCol - 1
    Set rScanArea = .range(.Cells(1, EndCol), .Cells(1048576, EndCol))
Loop While WorksheetFunction.CountA(rScanArea) = 0 and EndCol > 0
这不起作用,但在我在单元格引用后附加“.address()”后起作用。所以我猜在我的原始代码中,vba正在读取单元格的值。但是,在过去,有些情况下不需要address属性。例如,以下方法有效:

.Cells(i, 4).Hyperlinks.Add Range(.Cells(i, 4), .Cells(i, 4)), strLink

一、 首先,使用该方法设置范围时没有错误

set rngRange = Range(cells(1,1), cells(1,5)) 
有几种方法可以设置范围。如果要使用语法
set rngRange=Range(“A1:A2”)
,则必须使用字符串形式的
地址

您还可以设置范围的范围。它使用地址

set biggerRange = (rng1.address & ":" & rng2.address)
您也可以使用方括号引用范围,但不建议使用方括号


此外,除了这个问题,你找到最后一列的方法也不那么可靠。我建议您阅读本文以获得更好的方法。

如果您只想获取最后一列数据,请选中此项:


干杯

好的,泰。我没有意识到这个工作有一个内置的功能。