宏在Excel中的锁定工作表中找不到单词
我有一个代码,如果我找不到一个单词,它会显示一条消息,并关闭表单 代码工作正常,但如果我在表单上输入密码,它会一直显示找不到该单词 如果我删除了密码,那么“是”这个词会找到 搜索的代码宏在Excel中的锁定工作表中找不到单词,excel,vba,Excel,Vba,我有一个代码,如果我找不到一个单词,它会显示一条消息,并关闭表单 代码工作正常,但如果我在表单上输入密码,它会一直显示找不到该单词 如果我删除了密码,那么“是”这个词会找到 搜索的代码 Dim r As Range Set r = Sheets("sheet1").Range("D:D").Find(What:="word", LookAt:=xlWhole, MatchCase:=False) If r Is Nothing Then MsgBox "The word was not fo
Dim r As Range
Set r = Sheets("sheet1").Range("D:D").Find(What:="word", LookAt:=xlWhole, MatchCase:=False)
If r Is Nothing Then
MsgBox "The word was not found"
End 'Closing the form
End If
密码
Dim wks1 As Worksheet
For Each wks1 In ActiveWorkbook.Worksheets
wks1.Protect "1234", UserInterfaceOnly:=True, AllowSorting:=True, AllowFiltering:=True
Next wks1
我很乐意得到任何帮助来解决我的问题
如果我的问题不明白,请写信给我,这是一个有效的例子
Sub test()
Dim ws As Worksheet
Dim pwd As String
Dim r As Range
pwd = "pippo"
For Each ws In Worksheets
ws.Unprotect Password:=pwd
Next ws
Set r = Sheets("Foglio1").Range("D:D").Find(What:="word", LookAt:=xlWhole, MatchCase:=False)
If r Is Nothing Then
MsgBox "parola non trovata"
Else
MsgBox "parola trovata!"
End If
For Each ws In Worksheets
ws.Protect Password:=pwd
Next ws
End Sub
我希望这对您有所帮助。使用参数
UserInterFaceOnly
在VBA中保护工作表,然后VBA可以在甚至不允许选择受保护单元格的受保护工作表中找到单词
例如,在ThisWorkbook模块中,使用
Private Sub Workbook_Open()
For Each ws In Worksheets
ws.Protect Password:="secret", DrawingObjects:=True, Contents:=True, Scenarios:=True, userinterfaceonly:=True
Next ws
End Sub
然后,您就可以运行代码,而无需首先解除工作表的保护
Sub test()
Dim ws As Worksheet
Dim r As Range
Set r = Sheets("Sheet1").Range("A:D").Find(What:="word", LookAt:=xlWhole, MatchCase:=False)
If r Is Nothing Then
MsgBox "not found"
Else
MsgBox "found"
End If
End Sub
打开工作簿时,有一个输入框,您必须在其中输入密码?如果我理解您的问题,请尝试以下方法:第一行代码SheetName。取消保护密码:=您的密码,最后是:SheetName。保护密码:=您的密码