gpt4 book ai didi

vba - 使用 Excel VBA 时应用程序定义或对象定义的错误

转载 作者:行者123 更新时间:2023-12-04 21:40:43 28 4
gpt4 key购买 nike

运行以下宏时出现“应用程序定义或对象定义错误”。

我想解析“DB”表中的每一列并搜索该列。

Sub test()  
Dim FindString As Range
Dim Rng As Range

Dim i, j As Integer
Dim finalcol As Long

Worksheets("DB").Select

finalcol = Worksheets("DB").Cells(1, Application.Columns.Count).End(x1toleft).column
On Error Resume Next

For i = 1 To finalcol
FindString = Cells(1, i).Value

If Trim(FindString) <> "" Then
With Sheets("DB").Range("A:A")
Set Rng = .Find(What:=FindString, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Application.Goto Rng, True
Else
MsgBox "Nothing found"
End If
End With
End If
Next i
On Error GoTo 0

End Sub

最佳答案

您的 x1toleft常数应为 xlToLeft (前一个,不是前一个)。它不会转换为驼色外壳的事实是一个提示。

此外,FindString 应该是 Dim FindString As String不像范围。如果你摆脱 On Error Resume Next行,您将在 FindString = Cells(1,i).Value 上收到错误消息行,因为您必须使用 Set与对象变量。当它运行并且错误被抑制时,FindString(作为 Range 变量)是 Nothing。

我没有得到你得到的错误,它只是找不到任何东西。但是,如果您进行这些更改,它将修复它或暴露真正的错误。在任何情况下,您都应该删除错误处理,直到您对其进行调试,然后再将其添加回来。

关于vba - 使用 Excel VBA 时应用程序定义或对象定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13724269/

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