无效限定符 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").Value
或 LoadCase.Value
(一旦您设置了变量)。方括号符号在 VBA 代码中并不经常使用,因为它不是很灵活。
Excel VBA 上的任何基本 book/tutorial 都应该解释如何使用范围变量。他们是 Excel 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").Value
或 LoadCase.Value
(一旦您设置了变量)。方括号符号在 VBA 代码中并不经常使用,因为它不是很灵活。
Excel VBA 上的任何基本 book/tutorial 都应该解释如何使用范围变量。他们是 Excel VBA 编程的主力。