无效限定符 VBA

Invalid Qualifier VBA

我想为一个单元格设置一个变量,以便稍后能够引用该单元格。

所以我将单元格 D2 设置为字符串,其值为 "medium"。我目前正在这样做并且有效:

ActiveCell.Offset(0, 1).Value = Round(Application.Max(Range([D2].Offset(1, 0), [D2].Offset(2, 0))) / 1000, 2)

但不是使用 [D2],因为我想 运行 一个 For 循环在我的代码中多次执行此操作我想说:

LoadCase = [D2]
LoadCaseNeg = [D2].offset(8,0)
ActiveCell.Offset(0, 1).Value = Round(Application.Max(Range(LoadCase.Offset(1, 0), LoadCaseNeg.Offset(1, 0))) / 1000, 2)

但是这不起作用并给我一个 invalid qualifier 错误, 我是 VBA 的新手,有什么更好的方法吗?

使用一个Range变量:

Dim LoadCase As Range
Set LoadCase = Range("D2")

您同样需要将 Set 用于 LoadCaseNeg(也应声明为范围变量):

Set LoadCaseNeg = LoadCase.offset(8,0)

[D2] 是一种引用单元格中包含的 的方法,而不是单元格本身。您还可以将该值称为 Range("D2").ValueLoadCase.Value(一旦您设置了变量)。方括号符号在 VBA 代码中并不经常使用,因为它不是很灵活。

Excel VBA 上的任何基本 book/tutorial 都应该解释如何使用范围变量。他们是 Excel VBA 编程的主力。