在excel-vba中设置一个dynamic范围
我基于我的代码。 Excel VBA – select一个dynamic的单元格范围
我试图find创build一个dynamic范围的语法。 例子:我总是从D8开始,但范围的上限是基于另一个单元格中的整数。 [H4]
Dim count As Integer count = Sheet2.Cells(8,1).Value Set refRng = Sheet2.Range("D8:" & Cells(8, i).Address)
是相关的代码示例。
我现在知道Sheet2.Range(“H1”)不返回一个int,它返回一个变体或东西?
我已经尝试了一百万种不同的东西,并且发现它们都没有工作。 必须有一个更好的方法来build立一个dynamic范围。
这本来是一个评论,但它也是解决scheme,所以我把它作为答案
Cells(8, 1)
8,1 Cells(8, 1)
=“A8”。 如果你想要单元格H1,它将是Cells(1, 8)
或Cells(1, "H")
。 如果你想要单元格H4,它将是Cells(4, 8)
或Cells(4, "H")
。
或者, Range("H1")
或Range("H4")
不是100%确定你想要达到什么目的,但是就范围而言,也许这是一个开始:
Option Explicit Sub select_Range() Dim count As Integer count = ThisWorkbook.Worksheets("Sheet2").Range("A8").Value Dim i As Integer i = count Dim refRng As Excel.Range Set refRng = ThisWorkbook.Worksheets("Sheet2").Range("D8:D" & i) refRng.Select End Sub
这在Sheet2
上导致以下结果: