Добрый день! Необходимо доработать макрос, чтобы при открытии определенного листа выходило окошко с паролем. При правильном вводе пароля этот лист открывался. Причет доступ к другим листам оставался.
Вот макрос, но в нём почему то выскакивает ошибка в строке 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]
Добрый день! Необходимо доработать макрос, чтобы при открытии определенного листа выходило окошко с паролем. При правильном вводе пароля этот лист открывался. Причет доступ к другим листам оставался.
Вот макрос, но в нём почему то выскакивает ошибка в строке 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
Добрый день, 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] Но опять же, если книгу сохранить с активным "Закрытым" листом, то при открытии книги, форма не появится
Добрый день, 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
Controller, Данные сохраняются при сохранении книги. макрос ни коим образом не влияет на порядок сохранения данных. единственное условие, "Закрытый" лист не должен быть первым в книге
Controller, Данные сохраняются при сохранении книги. макрос ни коим образом не влияет на порядок сохранения данных. единственное условие, "Закрытый" лист не должен быть первым в книгеboa