Я пытаюсь создать простую пользовательскую форму со значениями в выпадающем списке, а затем позволяет пользователю добавлять новые элементы и сохранять элементы (в том смысле, что значения, которые вы вводите значения в текстовое поле, и оба значения Combobox1
и Combobox2
обновляются и остается после закрытия и повторного открытия файла Excel). Вот мой код:
Private Sub ComboBox1_Change()
End Sub
Private Sub ComboBox2_Change()
End Sub
Private Sub CommandButton1_Click()
Me.ComboBox2.AddItem Me.TextBox1.Value
Me.ComboBox1.AddItem Me.TextBox1.Value
Me.TextBox1.Value = ""
MsgBox "Category added to combobox!!"
End Sub
Private Sub UserForm_Activate()
Me.ComboBox1.AddItem "Chicken"
Dim sh As Worksheet
Dim i As Integer
End Sub
'Обновите список и сохраните файл excel
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim strRowSource As String
Dim lReply As Long, lRows As Long
If ComboBox1 <> vbNullString Then
If ComboBox1.ListIndex < 0 Then
lReply = MsgBox(ComboBox1 & _
" is not part of the list. Add it", vbYesNo + vbQuestion)
If lReply = vbYes Then
With ComboBox1
strRowSource = .RowSource
lRows = Range(strRowSource).Rows.Count
Range(strRowSource).Cells(lRows + 1, 1) = ComboBox1
.RowSource = vbNullString
.RowSource = Range(strRowSource).Resize(lRows + 1, 1).Address
End With
End If
End If
End If
End Sub