Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не инициализируется источник для выпадающего списка / 2 сообщений из 2, страница 1 из 1
30.01.2020, 22:04
    #39920787
AlexeyMV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется источник для выпадающего списка
Друзья, привет!

Создал форму для ввода данных в Excel - написал код - но почему то источник для выпадающего списка пуст

Помогите найти ошибку

Прилагаю код

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
Option Explicit

Private Sub ComboBox0_Change()
ComboBox0.RowSource = "Лист2!a2:a16"
End Sub

Private Sub ComboBox1_Change()
ComboBox1.RowSource = "Лист2!с2:с200"
End Sub

Private Sub ComboBox2_Change()
ComboBox2.RowSource = "Лист2!e2:e6"
End Sub

Private Sub ComboBox3_Change()
ComboBox3.RowSource = "Лист2!g2:g6"
End Sub

Private Sub ComboBox4_Change()
ComboBox4.RowSource = "Лист2!i2:i200"
End Sub

Private Sub CommandButton1_Click()
Dim iLastRow As Long
Dim iFoundRng As Range
Dim iBazaSht As Worksheet
Dim iResponse As Byte
    If Me.ComboBox0 = "" Or Me.ComboBox1 = "" Or Me.ComboBox2 = "" Or Me.ComboBox3 = "" Or Me.ComboBox4 = "" Then
        MsgBox "Необходимо заполнить все поля", vbExclamation, "Ошибка"
        Exit Sub
    End If
    Set iBazaSht = ThisWorkbook.Sheets("База") 'имя листа, куда будем вносить информацию
        Set iFoundRng = iBazaSht.Columns(4).Find(what:=Me.ComboBox0.Text, LookAt:=xlWhole) 'ячейка целиком
        'если такая запись уже есть
        If Not iFoundRng Is Nothing Then
            iResponse = MsgBox("Такая запись уже существует. Заменить её?" & vbCr & "Да - заменить старую, Нет - добавить в базу", vbYesNoCancel + vbExclamation, "Внимание!")
            If iResponse = vbYes Then
                With Sheets(iBazaSht.Name)
                    
                    .Cells(iFoundRng.Row, 4) = Me.ComboBox0
                    .Cells(iFoundRng.Row, 5) = Me.ComboBox1
                    .Cells(iFoundRng.Row, 6) = Me.ComboBox2
                    .Cells(iFoundRng.Row, 7) = Me.ComboBox3
                    .Cells(iFoundRng.Row, 8) = Me.ComboBox4
                    
                    Me.ComboBox0 = ""
                    Me.ComboBox1 = ""
                    Me.ComboBox2 = ""
                    Me.ComboBox3 = ""
                    Me.ComboBox4 = ""
                
                End With
                MsgBox "Информация в базе обновлена!", vbInformation, "База"
                Exit Sub
            End If
            If iResponse = vbCancel Then Exit Sub
        End If
    With Sheets(iBazaSht.Name)
        iLastRow = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
        .Cells(iLastRow, 4) = Me.ComboBox0
        .Cells(iLastRow, 5) = Me.ComboBox1
        .Cells(iLastRow, 6) = Me.ComboBox2
        .Cells(iLastRow, 7) = Me.ComboBox3
        .Cells(iLastRow, 8) = Me.ComboBox4

    End With
                    Me.ComboBox0 = ""
                    Me.ComboBox1 = ""
                    Me.ComboBox2 = ""
                    Me.ComboBox3 = ""
                    Me.ComboBox4 = ""
                    
    MsgBox "Информация добавлена в базу!", vbInformation, "База"
End Sub

Private Sub CommandButton2_Click()
    End
End Sub

Private Sub UserForm1_Click()

End Sub

Private Sub UserForm1_Initialize()
    
    ComboBox0.RowSource = "Лист2!a2:a16"
    ComboBox1.RowSource = "Лист2!с2:с200"
    ComboBox2.RowSource = "Лист2!e2:e6"
    ComboBox3.RowSource = "Лист2!g2:g6"
    ComboBox4.RowSource = "Лист2!i2:i200"

End Sub
...
Рейтинг: 0 / 0
31.01.2020, 11:16
    #39920931
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется источник для выпадающего списка
AlexeyMV

UserForm 1 _Initialize
Нет такого события. Есть событие:
UserForm_Initialize
не надо в этом событии указывать конкретное имя формы. Тоже самое с UserForm1_Click. Просто выбирайте в редакторе VB из списка справа вверху нужное событие формы и ничего в нем не меняйте.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не инициализируется источник для выпадающего списка / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]