La carga de combos incluye limpiar el formulario, las macro que limpian el formulario limpian diferentes controles, por eso hay dos macros, ya que se tienen que limpiar los controles en diferentes eventos durante la ejecución de los procesos de entrada y salida.
Te anexo la macro completa del formulario
Private Sub ComboBox1_Change()
'Por.Dante Amor
limpiar
If ComboBox1 = "" Then
Exit Sub
End If
Label8 = Hoja1.Cells(ComboBox1.ListIndex + 2, "A")
Set b = Hoja6.Columns("A").Find(Val(Label8))
If Not b Is Nothing Then
Label11 = Hoja6.Cells(b.Row, "B")
Else
MsgBox "El código no tiene existencias"
limpiar
ComboBox1.SetFocus
Exit Sub
End If
End Sub
Private Sub ComboBox2_Change()
'Por.DAM
limpiar
limpiarnota
End Sub
Private Sub CommandButton1_Click()
'Por.Dante Amor
If TextBox5 = "" Then
MsgBox "Debe capturar una cantidad", vbExclamation
TextBox5.SetFocus
Exit Sub
End If
If Val(TextBox5) > Val(Label11) Then
MsgBox "La cantidad es mayor a la existencia", vbCritical
TextBox5.SetFocus
Exit Sub
End If
'
Set b = Hoja5.Columns("A").Find(Val(Label8))
If Not b Is Nothing Then
MsgBox "El artículo ya está en la Lista", vbExclamation
ComboBox1.SetFocus
Exit Sub
End If
'
u = Hoja5.Range("A" & Rows.Count).End(xlUp).Row + 1
Hoja5.Cells(u, "A") = Label8
Hoja5.Cells(u, "B") = ComboBox1
Hoja5.Cells(u, "C") = TextBox5
u = Hoja5.Range("A" & Rows.Count).End(xlUp).Row
ListBox1.RowSource = Hoja5.Name & "!A13:C" & u
ComboBox1 = ""
End Sub
Private Sub CommandButton2_Click()
'Por.Dante Amor
Unload Me
End Sub
Private Sub CommandButton3_Click()
'Por.Dante Amor
If ListBox1.ListCount = 0 Then
MsgBox "No ha seleccionado artículos", vbExclamation
Exit Sub
End If
f = ComboBox2.ListIndex + 2
Hoja5.[B5] = Hoja2.Cells(f, "A")
Hoja5.[B6] = Hoja2.Cells(f, "B")
Hoja5.[B7] = Hoja2.Cells(f, "C")
Hoja5.[B8] = Hoja2.Cells(f, "D")
Hoja5.[B9] = Hoja2.Cells(f, "E")
Hoja5.[B10] = Hoja2.Cells(f, "F")
End Sub
Private Sub UserForm_Activate()
'Por.Dante Amor
Label7 = Date
u = Hoja1.Range("B" & Rows.Count).End(xlUp).Row
ComboBox1.RowSource = Hoja1.Name & "!B2:B" & u
'
u = Hoja2.Range("A" & Rows.Count).End(xlUp).Row
ComboBox2.RowSource = Hoja2.Name & "!B2:B" & u
'
limpiar
limpiarnota
End Sub
Sub limpiar()
'Por.DAM
Label8 = ""
Label11 = ""
TextBox5 = ""
End Sub
Sub limpiarnota()
'Por.DAM
u = Hoja5.Range("A" & Rows.Count).End(xlUp).Row
If u = 12 Then u = 13
Hoja5.Range("A13:C" & u). ClearContents
ComboBox2. SetFocus
End Sub