使用隐藏工作簿的.find方法

时间:2014-05-07 14:28:54

标签: excel-vba find hidden userform vba

是否可以使用.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

1 个答案:

答案 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