Страницы: 1
RSS
Ошибка Run-time error 13 - VBA при сверке ListBox1.Value с именем листа
 
Здраствуйте, помогите разобраться. В коде выдаёт ошибку:  Run-time error 13.
Код
Private Sub CommandButton1_Click()
Dim Pass As String
    Pass = InputBox(Prompt:="Введите пароль:", Title:="Проверка на благонадежность")
    If Pass = "" Then MsgBox "Вы не ввели пароль", 48, "Попробуйте ещё раз!": Exit Sub
    If Pass = "123" Then
        Sheets(Me.ListBox1.Value).Unprotect Password:="123"
        Sheets(Me.ListBox1.Value).Visible = -1
        Sheets(Me.ListBox1.Value).Activate
        Unload Me
    Else
        MsgBox "Ваш пароль не подходит, попробуйте ещё раз!", 48, "Ошибка"
        Exit Sub
    End If
End Sub


Private Sub UserForm_Initialize()
Dim i As Long
    For i = 1 To Sheets.Count - 1
        With Me.ListBox1
            .AddItem Sheets(i).Name
        End With
    Next
End Sub
 
Файл-пример приложите
Согласие есть продукт при полном непротивлении сторон
 
выдает что в этой строчке проблема
Код
        Sheets(Me.ListBox1.Value).Unprotect Password:="jaki"
 
Цитата
vikttur написал:
Me.ListBox1.Value - есть такой лист?
Да, создан ListBox1. Попробуйте нажать на синий кружок в файле. Всё это началось после выставление настроек в Properties: ListStyle = 1 , MultiSelect = 1
 
Нет такого листа
 
Цитата
skx написал: Попробуйте нажать на синий кружок в файле
В каком файле?
Согласие есть продукт при полном непротивлении сторон
 
Вызовите форму
Код
Sub ShowForm()

    UserForm1.Show
    
End Sub
Изменено: skx - 15.05.2019 21:14:21
 
Виталий, рисуешь файл, в нем кружок. Нажимаешь, а из него кролик!  :D
 
:D  :D  :D На самом деле я послал файл с Кнопкой, а её почему то нету. Ну вообщем есть UserForm1
Изменено: skx - 15.05.2019 21:23:33
 
Создал форму, закинул туда Ваш код - все в порядке

Цитата
Всё это началось после выставление настроек в Properties: ListStyle = 1 , MultiSelect = 1
Вот интересно, зачем при проверке пароля ОДНОГО листа MultiSelect = 1?
 
Цитата
vikttur написал: зачем при проверке пароля ОДНОГО листа MultiSelect = 1?
Я хотел чтобы из списка можно было выбрать 2-а значения)) в результате получил возможность выделять т.е ставить галочки, но после этого появилась ошибка Run-Time Error '13'.  
 
А это уже не .Value будет. Нужно циклом бежать и искать выделенные.

Недоумение не прошло - проверяя пароль, выделить имена нескольких листов... Вы, случаем, не из квартирных джентельменов? Ключик есть, авось к какой-нибудь двери да подойдет? )
 
Цитата
vikttur написал:
Вы, случаем, не из квартирных джентельменов? Ключик есть, авось к какой-нибудь двери да подойдет? )
))) наверное точно подмеченно. В любом случае, я старался переписать скрипт с дополнением, из этого ничего -  невышло. Спасибо всё равно за потраченное ваше время
Страницы: 1
Наверх