是否可以使用.find
方法在隐藏的工作簿中查找数据?
我有userform,它将数据保存到打开(但隐藏)的工作簿。我想确保当我在其中一个文本框中输入invoive时,它之前没有插入。
我考虑过使用.find
方法但是它给了我错误91对象变量或者没有设置块。
我检查了那些变量并且它们已经设置但我想出了一个想法,它可能与隐藏的工作簿不太合适。
下面我粘贴了部分代码。错误出现在If skoroszyt...
If Lastrow <> 1 And nr_faktury <> "" Then
If skoroszyt.Worksheets(nazwa_arkusza).Range(faktury_range).Find(nr_faktury) = True Then
MsgBox ("Podany nr faktury został podany w fakturze nr" & _
skoroszyt.Worksheets(nazwa_arkusza).Range(faktury_range).Find(nr_faktury).Address & vbNewLine & _
"Faktura nie została zapisana")
Exit Sub
End If
End If
答案 0 :(得分:1)
我认为你的意思是:
Dim rng As Range
If Lastrow <> 1 And nr_faktury <> "" Then
Set rng = skoroszyt.Worksheets(nazwa_arkusza).Range(faktury_range).Find(What:=nr_faktury, _
LookAt:=xlWhole, _
LookIn:=xlValues, _
MatchCase:=False)
If Not rng Is Nothing Then
MsgBox "Podany nr faktury zostal podany w fakturze nr" & _
rng.Address & vbNewLine & "Faktura nie zostala zapisana"
Exit Sub
End If
End If
部分匹配,将LookAt:=xlWhole
更改为LookAt:=xlPart