我的代码基于此。 Excel VBA - select a dynamic cell range
我正在尝试找到创建动态范围的语法。示例:我总是从D8开始,但范围的上限基于另一个单元格中的int计数。 [H4]
Dim count As Integer
count = Sheet2.Cells(8,1).Value
Set refRng = Sheet2.Range("D8:" & Cells(8, i).Address)
是相关代码示例。
我现在知道Sheet2.Range(“H1”)不返回一个int,它返回一个变量还是什么?
我已经尝试了一百万种不同的东西,并且已经发现它们都不起作用。必须有一种更好的方法来设置动态范围。
答案 0 :(得分:6)
不是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
:
答案 1 :(得分:2)
这最初是一个评论,但它也是解决方案所以我将其添加为答案
Cells(8, 1)
=“A8”。如果您想要单元格H1,它将是Cells(1, 8)
或Cells(1, "H")
。如果您想要单元格H4,它将是Cells(4, 8)
或Cells(4, "H")
。
或者,只需Range("H1")
或Range("H4")