尽管内容存在,但 xlWhole 后出现索引 9 错误

Index 9 error after xlWhole although content is there

我正在尝试使用以下代码在 Outlook VBA 宏中搜索 Excel 电子表格的整个 A 列,并在同一行中输出 K 列的值。

以下代码工作正常:

ColumnA = InputBox("Please Column A value.")
ColumnB = wb.Worksheets("fsgksdhgks").Range("A:A").Find(ColumnA).Offset(0, 10).Value
MsgBox (ColumnB)

但是,我实际需要的以下代码,因为我只想要唯一值(例如,我不想在输入 BC 时找到 ABC),抛出 Error 9 Index 错误。

ColumnA = InputBox("Please Column A value.")
ColumnB = wb.Worksheets("fsgksdhgks").Range("A:A").Find(What:=ColumnA, LookAt:=xlWhole).Offset(0, 10).Value
MsgBox (ColumnB)

有没有人有什么想法?

后期绑定到 excel,常量未定义,因此使用值 1 代替 xlWhole。考虑检查是否找到 returns 一个对象以避免进一步的错误。

Sub demo()

    Dim ColumnA As String, ColumnB As String, rng As Range
    Dim wb As Workbook: Set wb = ThisWorkbook ' amend to suit

    ColumnA = InputBox("Please Column A value.")
    Set rng = wb.Worksheets("fsgksdhgks").Range("A:A").Find(What:=ColumnA, LookAt:=1) ' 1=xlWhole
    If rng Is Nothing Then
        MsgBox ColumnA & " not found", vbExclamation
    Else
        ColumnB = rng.Offset(0, 10).Value
        MsgBox ColumnB, vbInformation, ColumnA & "  found at " & rng.Address
    End If

End Sub