【问题标题】:Use string variable as cell reference使用字符串变量作为单元格引用
【发布时间】:2019-01-24 07:53:00
【问题描述】:

我对 Excel 宏有疑问。 我在工作簿的单元格中编写了单元格引用。 喜欢:Sheets("Lam PVB").Cells(21,2)

然后我构造一个路径来访问另一个工作簿中的单元格值

Dim wb As Workbook: Set wb = Workbooks("17.01.2019.xls")
Dim wbMahud As Workbook: Set wbMahud = Workbooks("mahudMakro.xlsm")
Dim ws As Worksheet: Set ws = wbMahud.Sheets("jaotus")
    dataStr = wb & "." & ws.Cells(2, 1).Value & ".Value"
    Debug.Print (dataStr)

这里的问题是dataStr 绝对是一个字符串变量,Debug.Print 输出相同的字符串变量,但我需要获取它所引用的单元格值。

我在这里缺少什么转换?

【问题讨论】:

  • 您无法将字符串的内容转换为 VBA 中的代码
  • 你不能那样做。你想要达到的实际目标是什么?我想你问了 x 但想要实现 y。请参阅What is the XY problem? • 然后edit 并改进您的问题。
  • 你可以去Application.Evaluate看看。

标签: excel vba


【解决方案1】:

您不能将字符串转换为 VBA 代码。但是你可以做的是使用地址。

如果您在工作表 jaotus 单元格 A2 中输入单元格:'Lam PVB'!B21 引用与 Sheets("Lam PVB").Cells(21,2) 相同的单元格,那么您可以使用:

Range(ws.Cells(2, 1).Value).Value

获取地址'Lam PVB'!B21的范围。

【讨论】:

    猜你喜欢
    • 2016-03-19
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多