我想将一个变量设置为一个单元格,以后能够引用该单元格。
所以我将单元格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)
然而,这不起作用并且给我一个无效限定符错误, 我是VBA的新手,那么还有更好的方法吗?
答案 0 :(得分:1)
使用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的任何基础书籍/教程都应该解释如何使用范围变量。它们是Excel VBA编程的工具。