gpt4 book ai didi

excel - 使用 range.find 方法时出现类型不匹配错误

转载 作者:行者123 更新时间:2023-12-04 21:20:01 24 4
gpt4 key购买 nike

谁能帮我使用 range.find 方法。类型不匹配错误不断出现,我不知道为什么。

我尝试将范围变量设置为 Range,然后使用 Set 来定义它,我也尝试过不使用 Set,但随后又出现了另一个错误。

Dim r1 As Range
Set r1 = Range("B:K").Find("WhatToFind").row

我希望上面的代码能给我 WhatToFind 的行,它肯定在工作表中,但仍然给出错误。

即使我删除 .Row从最后,我得到这个错误:

Run-time error '1004':
Application or Object defined error

最佳答案

您需要先检查是否找到了某些东西,然后才能从中返回任何东西。

Sub Test()

Dim r1 As Range
Dim lFoundRow As Long
Set r1 = Range("B:K").Find("WhatToFind")
If Not r1 Is Nothing Then
MsgBox "WhatToFind is on row " & r1.Row
lFoundRow = r1.Row
Else
MsgBox "Not found"
End If

End Sub

我怀疑这是错误的原因,但是 FIND记住上次使用时的设置(通过代码或在工作表上手动使用 Ctrl+F )。

您可以在 FIND 上设置每个参数:
Sub Test()

Dim r1 As Range
Dim lRow As Long

With ThisWorkbook.Worksheets("Sheet1").Range("B:K")
Set r1 = .Find( _
What:="WhatToFind", _
After:=.Cells(1, 1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
MatchByte:=False, _
SearchFormat:=False)

If Not r1 Is Nothing Then
lRow = r1.Row
Else
MsgBox "Not found"
End If
End With

End Sub

关于excel - 使用 range.find 方法时出现类型不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53866586/

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