2

我的代码基于此。 Excel VBA - 选择动态单元格范围

我正在尝试找到创建动态范围的语法。示例:我总是从 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,它返回一个变体或什么?

我已经尝试了一百万种不同的东西,但发现它们都不起作用。必须有更好的方法来设置动态范围。

4

2 回答 2

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

在此处输入图像描述

于 2013-08-28T15:28:08.323 回答
2

这最初是一条评论,但它也是解决方案,所以我将其添加为答案

Cells(8, 1)=“A8”。如果您想要单元格 H1,它将是Cells(1, 8)Cells(1, "H")。如果您想要单元格 H4,它将是Cells(4, 8)Cells(4, "H")

或者,只是Range("H1")Range("H4")

于 2013-08-28T15:24:06.240 回答