Использование метода.find со скрытой книгой
Можно ли использовать .find
способ поиска данных в скрытой книге?
У меня есть пользовательская форма, которая сохраняет данные в открытой (но скрытой) книге. Я хочу убедиться, что при вводе 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 ответ
Решение
Я думаю, что вы имеете в виду это:
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