【问题标题】:Cell.Address function with Index and Match function具有索引和匹配功能的 Cell.Address 功能
【发布时间】:2021-01-27 01:25:12
【问题描述】:

我正在尝试通过 VBA 使用此公式来获取单元格的地址。 =CELL("address",INDEX(A:C,MATCH(2019,A1:A124,0),3)) 我得到的结果是单元格的绝对地址。

我认为我做错了什么并且它不起作用。我在工作簿中有多个工作表,因此它位于 Sheet5。

Dim x As String
Dim year As String
year = 2019
 x = Sheet5.Cells.Address(WorksheetFunction.Index(Sheet5.Range("A:C"), Application.WorksheetFunction.Match(year, Sheet5.Range("A1:A124"), 0), 3))

请帮忙谢谢:)

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    试着把你的代码分解一下:在一行中做太多事情并不好。

    Dim m, yr
    
    yr = 2019
    
    'note no `WorksheetFunction`
    m = Application.Match(yr, sheet5.Range("A1:A124"), 0) 'edit year>>yr
    
    If Not IsError(m) Then
        MsgBox sheet5.Cells(m, "C").Address
    Else
        MsgBox "No match for " & yr
    End If
    

    【讨论】:

    • 在 m = Application.Match(year, Sheet5.Range("A1:A124"), 0) 处弹出错误我应该将 m 定义为变体吧?
    • 是的 m 应该是一个变体。错过了一年以上的编辑>>年
    • 返回m时出错。可能的错误是什么?它应该能够得到地址。我在工作表上尝试了相同的公式,它有效
    • 为我工作。确保不要将yr 声明为字符串。
    猜你喜欢
    • 2021-05-25
    • 1970-01-01
    • 2013-08-30
    • 2019-06-15
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多