【问题标题】:Return the value by given addresses通过给定地址返回值
【发布时间】:2020-07-19 13:09:30
【问题描述】:

我是 VBA 新手,如果有人能给我的查询提示,我将不胜感激。

在第 4 行有引用一些数据的单元格地址。

如何编写代码,使用这些信息从各个单元格中提取值?

【问题讨论】:

  • 需要更多上下文 - 请添加示例输入和预期输出。一个好的开始是考虑使用Application.Match

标签: excel vba


【解决方案1】:

请试试这个代码。它将在即时窗口中返回相应的单元格值。代码假定“R34C54”表示第 34 行和第 54 列...

Sub ReturnValueFromR1C1Label()
    Dim sh As Worksheet, iRow As Long, iCol As Long
    Dim lastCol As Long, i As Long
    
    Set sh = ActiveSheet 'use here your sheet
    lastCol = sh.Cells(4, Columns.count).End(xlToLeft).column
     For i = 3 To lastCol
        iRow = Split(Split(sh.Cells(4, i).Value, "R")(1), "C")(0)
        iCol = Split(sh.Cells(4, i).Value, "C")(1)
        Debug.Print Cells(iRow, iCol).Address & " value = " & Cells(iRow, iCol).Value
    Next i
End Sub

要查看返回值,请在 VBE 中使用 Ctrl + G...

【讨论】:

  • 感谢您的反馈。我从中得到了这个想法。欣赏所有!
  • @user13954304:很高兴我能帮上忙!但是,我应该明白上面的代码没有回答你的问题吗?否则,我们在这里勾选代码左侧的复选框,以使其接受答案。这样,寻找类似东西的其他人就会知道它有效......
【解决方案2】:

您可以使用Range 的Formula 属性,例如:

Cells(2, 1).Formula = "=" & Cells(1, 1)

其中Cells(1,1) 包含地址,例如R10C12。

Cells(2, 1) 的.Value 现在是R10C12 的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 2021-09-29
    • 1970-01-01
    • 2013-11-12
    相关资源
    最近更新 更多