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 Sub
Segú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