gpt4 book ai didi

excel - 匹配不起作用 Excel : Error 1004 Unable to get the Match Property

转载 作者:行者123 更新时间:2023-12-03 00:12:40 25 4
gpt4 key购买 nike

Sub Sales_Summary_Macro()

Dim strMake, strModel, strCount As String
Dim makeLoc, modelLoc, countLoc As Integer

strMake = Application.InputBox("Make")
strModel = Application.InputBox("Model")
strCount = Application.InputBox("Count")

If strMake <> False Then
Debug.Print strMake
Debug.Print strModel
Debug.Print strCount
makeLoc = WorksheetFunction.Match(strMake, Range("A1:A10"), 0)
Debug.Print makeLoc
End If

End Sub

我只想获取用户在三个不同变量上的字符串输入,并找到包含每个变量的列。我单独尝试过 Application.Match() 和 Match() ,但似乎都不起作用。

最佳答案

不会全面讨论技术,也不会发布代码。然而,三件事:

,确保您的范围始终完全合格。例如,Range("A1:A10") 还不够。您应该指定它应该位于哪一张纸上。如果您从另一张工作表调用此宏,它将给出错误的结果或引发错误。

两个,无需太多细节:

    如果未找到匹配项,
  1. Application.Match 将返回错误值。这可以使用 IsError 来处理,这就是 simoco 在他的回答中所做的。
  2. WorksheetFunction.Match 当未找到错误时,抛出 1004 错误。这与返回值不同。因此,这(稍微)更难处理。

最佳实践是始终使用第一个。

,VBE 中的即时窗口是您最好的 friend 。窗口中的一个简单的 ?Application.Match("FindMe", [A1:A10], 0) 可以帮助您检查您的公式是否获得了类似的预期结果。

Application.Match returning an error value

如上图所示,没有找到字符串,返回错误值。

希望这有帮助!

关于excel - 匹配不起作用 Excel : Error 1004 Unable to get the Match Property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com