Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Пароль на доступ к листу - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пароль на доступ к листу (Макросы/Sub)
Пароль на доступ к листу
Controller Дата: Среда, 17.11.2021, 11:49 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Office 2007
Добрый день!
Необходимо доработать макрос, чтобы при открытии определенного листа выходило окошко с паролем. При правильном вводе пароля этот лист открывался. Причет доступ к другим листам оставался.

Вот макрос, но в нём почему то выскакивает ошибка в строке Windows("Пароль на лист.xls").Visible = True
Run-time error '9' Subscript out of range[/code][/vba]

[vba]
Код
Private Sub CommandButton1_Click()
If TextBox1.Text = "Мой пароль" Then
Windows("Пароль на лист.xls").Visible = True
End
Else
MsgBox "Вы ввели неправильный пароль", vbInformation, "Неправильный пароль"
End If
End Sub

Private Sub CommandButton2_Click()
Windows("Пароль на лист.xls").Visible = True
Worksheets("Лист2").Activate
End
End Sub

Private Sub UserForm_Activate()
ActiveWindow.Visible = False
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Cancel = True
End Sub
[/vba]
К сообщению приложен файл: __.xlsm (16.8 Kb)


Сообщение отредактировал Controller - Среда, 17.11.2021, 15:04
 
Ответить
СообщениеДобрый день!
Необходимо доработать макрос, чтобы при открытии определенного листа выходило окошко с паролем. При правильном вводе пароля этот лист открывался. Причет доступ к другим листам оставался.

Вот макрос, но в нём почему то выскакивает ошибка в строке Windows("Пароль на лист.xls").Visible = True
Run-time error '9' Subscript out of range[/code][/vba]

[vba]
Код
Private Sub CommandButton1_Click()
If TextBox1.Text = "Мой пароль" Then
Windows("Пароль на лист.xls").Visible = True
End
Else
MsgBox "Вы ввели неправильный пароль", vbInformation, "Неправильный пароль"
End If
End Sub

Private Sub CommandButton2_Click()
Windows("Пароль на лист.xls").Visible = True
Worksheets("Лист2").Activate
End
End Sub

Private Sub UserForm_Activate()
ActiveWindow.Visible = False
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Cancel = True
End Sub
[/vba]

Автор - Controller
Дата добавления - 17.11.2021 в 11:49
китин Дата: Среда, 17.11.2021, 12:07 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Controller, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеController, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)

Автор - китин
Дата добавления - 17.11.2021 в 12:07
MikeVol Дата: Среда, 17.11.2021, 16:43 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 311
Репутация: 58 ±
Замечаний: 0% ±

Excel LTSC 2021 EN
Controller, Доброго времени суток! Попробуйте поменять в коде Windows("Пароль на лист.xls") на Sheets ("Пароль на лист")
Сам не проверял, попробуйте.

Не проверил я вот и ошибся, не правильный ответ вам дал. Извините. ;)


Ученик.

Сообщение отредактировал MikeVol - Среда, 17.11.2021, 18:16
 
Ответить
СообщениеController, Доброго времени суток! Попробуйте поменять в коде Windows("Пароль на лист.xls") на Sheets ("Пароль на лист")
Сам не проверял, попробуйте.

Не проверил я вот и ошибся, не правильный ответ вам дал. Извините. ;)

Автор - MikeVol
Дата добавления - 17.11.2021 в 16:43
Alex_ST Дата: Четверг, 18.11.2021, 13:50 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
А разве коллекция Windows имеет свойство .Visible ?
Вы явно книгу с листом перепутали



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеА разве коллекция Windows имеет свойство .Visible ?
Вы явно книгу с листом перепутали

Автор - Alex_ST
Дата добавления - 18.11.2021 в 13:50
bmv98rus Дата: Пятница, 19.11.2021, 13:08 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
А разве
имеет.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
А разве
имеет.

Автор - bmv98rus
Дата добавления - 19.11.2021 в 13:08
boa Дата: Пятница, 19.11.2021, 15:28 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 550
Репутация: 167 ±
Замечаний: 0% ±

365
Добрый день,
Controller, подкорректировал ваш код
[vba]
Код
Private Sub CommandButton1_Click()
  If TextBox1.Text = "111" Then
    Unload Me
  Else
    MsgBox "Вы ввели не правильный пароль", vbInformation, "Не правильный пароль"
    Unload Me
    Sheets(ActiveSheet.Index - 1).Activate
  End If
End Sub

Private Sub CommandButton2_Click()
    Unload Me
    Sheets(ActiveSheet.Index - 1).Activate
End Sub

Private Sub UserForm_Activate()
    Windows(ThisWorkbook.Name).Visible = False
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Windows(ThisWorkbook.Name).Visible = True    '"Пароль на лист.xlsm"
End Sub
[/vba]
Но опять же, если книгу сохранить с активным "Закрытым" листом, то при открытии книги, форма не появится
К сообщению приложен файл: 0694022.xlsm (25.2 Kb)




Сообщение отредактировал boa - Пятница, 19.11.2021, 15:40
 
Ответить
СообщениеДобрый день,
Controller, подкорректировал ваш код
[vba]
Код
Private Sub CommandButton1_Click()
  If TextBox1.Text = "111" Then
    Unload Me
  Else
    MsgBox "Вы ввели не правильный пароль", vbInformation, "Не правильный пароль"
    Unload Me
    Sheets(ActiveSheet.Index - 1).Activate
  End If
End Sub

Private Sub CommandButton2_Click()
    Unload Me
    Sheets(ActiveSheet.Index - 1).Activate
End Sub

Private Sub UserForm_Activate()
    Windows(ThisWorkbook.Name).Visible = False
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Windows(ThisWorkbook.Name).Visible = True    '"Пароль на лист.xlsm"
End Sub
[/vba]
Но опять же, если книгу сохранить с активным "Закрытым" листом, то при открытии книги, форма не появится

Автор - boa
Дата добавления - 19.11.2021 в 15:28
Controller Дата: Суббота, 20.11.2021, 19:07 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Office 2007
Но опять же, если книгу сохранить с активным "Закрытым" листом, то при открытии книги, форма не появится

Спасибо, работает, а данные при этом сохраняться?
 
Ответить
Сообщение
Но опять же, если книгу сохранить с активным "Закрытым" листом, то при открытии книги, форма не появится

Спасибо, работает, а данные при этом сохраняться?

Автор - Controller
Дата добавления - 20.11.2021 в 19:07
boa Дата: Суббота, 20.11.2021, 19:25 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 550
Репутация: 167 ±
Замечаний: 0% ±

365
Controller,
Данные сохраняются при сохранении книги. макрос ни коим образом не влияет на порядок сохранения данных.
единственное условие, "Закрытый" лист не должен быть первым в книге


 
Ответить
СообщениеController,
Данные сохраняются при сохранении книги. макрос ни коим образом не влияет на порядок сохранения данных.
единственное условие, "Закрытый" лист не должен быть первым в книге

Автор - boa
Дата добавления - 20.11.2021 в 19:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пароль на доступ к листу (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!