MsgBox con pausas para llenado de formulario

Quisiera solicitar su apoyo para resolver una consulta sobre los MsgBox.
He estado desarrollando un UserForm para introducir datos en una planilla excel con respecto a transacciones de materiales. Dentro de este UserForm incorporé un Commandbuton llamado "ACEPTAR". El código de este botón lo adjunto a continuación:
Private Sub AceptarButton1_Click() 
Dim ifila As Long 
Dim x As Control 
'Encontrar ultima fila vacía 
ifila = Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row 
'Copiar datos de formulario a planilla 
Worksheets(2).Cells(ifila, 1).Value = LabelCodigo 
Worksheets(2).Cells(ifila, 2).Value = Date 
Worksheets(2).Cells(ifila, 3).Value = Time 
Worksheets(2).Cells(ifila, 4).Value = TextBoxCantidad 
Worksheets(2).Cells(ifila, 5).Value = LabelUnidad 
'Copiar datos de los OptionButton a la planilla 
For Each x In Frame1.Controls 
If x.Value = True Then 
Worksheets(2).Cells(ifila, 6).Value = x.Caption 
End If 
Next 
'Forzar llenado completo de formulario 
If ComboDescripcion = Empty Then 
If MsgBox("Seleccione una descripción del material", vbRetryCancel + vbExclamation, "ERROR") = vbCancel Then 
Unload TransaccionForm 
PanelForm.Show 
End If 
End If 
If TextBoxCantidad = Empty Then 
If MsgBox("Ingrese cantidad", vbRetryCancel + vbExclamation, "ERROR") = vbCancel Then 
Unload TransaccionForm 
PanelForm.Show 
End If 
End If 
End Sub 
El problema que tengo es que al presionar el botón aceptar en el formulario, en caso que no tenga completo ningún campo en el formulario me aparecen los MsgBox, los cuales al presionar "Reintentar" aparece inmediatamente el siguiente MsgBox y así sucesivamente. Lo que intento hacer es que al aparecer el primer MsgBox indicando campo vacío y al presionar "Reintentar", no aparezca inmediatamente el siguiente MsgBox sino que me de el tiempo de llenar el campo faltante y que luego al volver a presionar "Aceptar" me aparezca el siguiente MsgBox indicando el siguiente campo vacío.

1 respuesta

Respuesta
1
Siempre hay maneras de complicarse la vida, y tu lo haces.
Simplemente al empezar la rutina del botón pregunta cual TextBox está vació, si alguno lo está le muestras 1 solo MsgBox diciéndole que le faltan datos y sales de la rutina.
Algo así:
If TextBox1.Text = String.Empty Or TextBox2.Text = String.Empty Then
MsgBox("Faltan Llenar Datos")
Exit Sub
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas