Cancelar un inputbox de un formulario
Estoy usando inputboxes para filtrar los registros. Este inputbox viene con un botón de Cancelar, pero si pulso en él (o utilizo la tecla Escape), no me lo cancela, sino que me salta otra ventana. Mirad:

Este es el código que uso:
Private Sub Comando61_Click()
On Error Resume Next
Dim miFiltro As String
Dim Valor As Double
Dim Signo As String
If IsNumeric(Screen.PreviousControl) Then
Signo = InputBox("Introduce el signo: mayor (>), menor (<), mayor que (>=) o menor que (<=).")
Valor = InputBox("Introduce el valor")
'Cojemos el valor seleccionado y el campo y creamos el filtro por aproximación
miFiltro = Screen.PreviousControl.Name & Signo & Replace(Valor, ",", ".")
'Aplicamos el filtro al formulario
Me.Filter = miFiltro
Me.FilterOn = True
ElseIf Screen.PreviousControl.Name = "DuracionMin" Then
Signo = InputBox("Introduce el signo: mayor (>), menor (<), mayor que (>=) o menor que (<=).")
Valor = InputBox("Introduce el valor")
'Cojemos el valor seleccionado y el campo y creamos el filtro por aproximación
miFiltro = "DiasMin" & Signo & Replace(Valor, ",", ".")
'Aplicamos el filtro al formulario
Me.Filter = miFiltro
Me.FilterOn = True
ElseIf Screen.PreviousControl.Name = "DuracionMax" Then
Signo = InputBox("Introduce el signo: mayor (>), menor (<), mayor que (>=) o menor que (<=).")
Valor = InputBox("Introduce el valor")
'Cojemos el valor seleccionado y el campo y creamos el filtro por aproximación
miFiltro = "DiasMax" & Signo & Replace(Valor, ",", ".")
'Aplicamos el filtro al formulario
Me.Filter = miFiltro
Me.FilterOn = True
Exit Sub
End If
End SubSegún he leído, podría solucionarlo de esta manera:
If Signo <> "" Then End If
Pero mi problema viene cuando tengo más de un inputbox. Además, si uso Exit Sub en la primera declaración del If, no me ejecuta el resto del código.
¿Cómo puedo solucionarlo?
1 Respuesta
Respuesta de Sveinbjorn El Rojo
1
