代码之家  ›  专栏  ›  技术社区  ›  elee7311

限定符VBA无效

  •  1
  • elee7311  · 技术社区  · 7 年前

    我想给一个单元格设置一个变量,然后可以引用这个单元格。

    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新手,有更好的方法吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   John Coleman    7 年前

    使用 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编程的工作马。