gpt4 book ai didi

vba - 应用程序匹配与查找

转载 作者:行者123 更新时间:2023-12-04 20:56:58 25 4
gpt4 key购买 nike

我想编写一个宏,它将获取 A 列中的最后一项并检查它是否存在于 B 到 D 列中的任何位置。但是,以下代码从未找到匹配项并返回“不存在”:

Sub MatchInRange()

Dim LastItem As Range
Set LastItem = Range("A1").End(xlDown)

If Not IsError(Application.Match(LastItem, "B:D", 0)) Then
MsgBox "Exists in range"
Else
MsgBox "Doesn't exist"
End If
End Sub

但它在使用 Find 重写时有效:
Sub FindInRange()

Dim LastItem As Range
Set LastItem = Range("A1").End(xlDown)

If Not Range("B:D").Find(LastItem) Is Nothing Then
MsgBox "Exists in range"
Else
MsgBox "Doesn't exist"
End If
End Sub

谁能告诉我第一个代码我做错了什么?

最佳答案

匹配适用于 1 行或列。您正在使用 3 - , 中号电话 .像这样重写第一个公式:

Sub TestMe()
Debug.Print WorksheetFunction.match("TestValue", Range("B:B"), 0)
End Sub

关于vba - 应用程序匹配与查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45882858/

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