Страницы: 1
RSS
Ограничение доступа на запуск макроса
 
Здравствуйте!

Есть список людей, которые могут запускать макрос.
Уже есть код, но у меня вопрос, есть ли красивое решение ссылающееся на диапазон? вместо прописания всех ячеек.. как у меня
Список юзеров прописан в ячейках H1:H10 листе md
Код
If Environ("Username") <> Sheets("md").Range("H1") Or Environ("Username") <> Sheets("md").Range("H2") Then
MsgBox "You do not have permission to run this Script", , "Warning!!!"
End
End If
 
Range.Find
Код
If Sheets("md").Range("H1:10").find what:=Environ("Username") is nothing  Then
MsgBox "You do not have permission to run this Script", , "Warning!!!"
End
End If


Или  перебор
Код
For each cell in Sheets("md").Range("H1:h10")
  if cell=Environ("Username") then 
     i=1 
     Exit for
 end if
next
if i=0 then 
MsgBox "You do not have permission to run this Script", , "Warning!!!"
End
End If


или тоже но с загрузив сперва в массив
Изменено: БМВ - 15.05.2020 16:40:17
По вопросам из тем форума, личку не читаю.
 
Цитата
Salta-301 написал:
вместо прописания всех ячеек
А может так ?
Код
Sub aaa()
    If Not verifyuser(Environ("UserName")) Then MsgBox "Stoy, predyavi propusk !": End
    MsgBox "Aaa, Vkhodite pozhaluysta ! Proshu Vas, zakhodite !"
End Sub

Function verifyuser(strStr As String) As Boolean
    verifyuser = False
    If IsError(Application.Match(strStr, Sheets("md").Columns("H"), 0)) Then Exit Function
    verifyuser = True
End Function

'ili

Sub bbb()
    If IsError(Application.Match(Environ("UserName"), Sheets("md").Columns("H"), 0)) Then _
    MsgBox "Stoy, predyavi propusk !": End
    MsgBox "Aaa, Vkhodite pozhaluysta ! Proshu Vas, zakhodite !"
End Sub
 
Цитата
БМВ написал:
Range.Find
Здесь к сожалению, ругается на Find.
 
Цитата
ocet p написал:
А может так
Супер крутяк!
Страницы: 1
Наверх