【问题标题】:VBA Match function with ActiveSheet带有 ActiveSheet 的 VBA 匹配函数
【发布时间】:2017-01-09 19:23:30
【问题描述】:

如果我输入:ThisWorkbook,脚本可以正常工作,但ActiveWorkbook 则不起作用。

错误1004 说:“Unable to get the Match property of the Worksheet function class

Dim dat As Date

calea_livrat = "my link" & ".xlsx"
Workbooks.Open calea_livrat

With ActiveWorkbook
    dat = zi & "-" & luna & "-" & an
    data_gen = CDbl(dat)
    nr_linie = Application.WorksheetFunction.Match(data_gen, ActiveWorkbook.Worksheets("PE_Centralizare").Range("A:A"), 0)
    MsgBox nr_linie
End With

这里出了点问题:Application.WorksheetFunction.Match(data_gen, ActiveWorkbook.Worksheets("PE_Centralizare").Range("A:A"), 0) 但我不知道是什么问题。

【问题讨论】:

  • 首先:请修正您的示例代码中的语法错误。第二:With 块的目的是什么?您的代码都没有使用它。删除它或使用它。
  • 我的代码,打开一个 excel 文件,打开该文件,我需要 Match 一些东西。该匹配不起作用属性
  • @Marius 发布您的其余相关代码,也许我们可以帮助您避免那里的错误。 Yyu 已经在With ActiveWorkbook 里面了,你还需要ActiveWorkbook.Worksheets("PE_Centralizare").Range("A:A") 吗?为什么不.Worksheets("PE_Centralizare").Range("A:A")?最后,如果Match 函数找不到匹配项,你会怎么做?你如何处理这个错误? `
  • @shai-rado 其余代码无关紧要,如果我将ThisWorksheet 改为ActiveWorkbookActiveSheet,一切正常

标签: vba


【解决方案1】:

这不是答案,只是如何在您的情况下正确使用Match 函数:

Dim nr_linie As Variant

With ActiveWorkbook
    dat = zi & "-" & luna & "-" & an
    data_gen = CDbl(dat)

    ' in case Match was able to find data_gen in Column A
    If Not IsError(Application.Match(data_gen, .Worksheets("PE_Centralizare").Range("A:A"), 0)) Then
        nr_linie = Application.Match(data_gen, .Worksheets("PE_Centralizare").Range("A:A"), 0)
        MsgBox "Row number " & data_gen & " value was found in row " & nr_linie
    Else ' <-- Macth failed, unable to find find data_gen in Column A
        MsgBox data_gen & " value not found in Range !"
    End If
End With

【讨论】:

  • 谢谢,这是下一步。
  • 您是否将此代码插入到您的代码中?现在可以用了吗?
  • 问题出在这里:而不是nr_linie = Application.WorksheetFunction.Match(data_gen我把:nr_linie = Application.Match(data_gen谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-07-05
  • 2021-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多