Detectar si una variable tiene el formato correcto

Hola
Estoy intentando generar una base de datos en excel mediante una macro. Cuando le pido datos al usuario mediante un inputbox quiero asegurarme de que el usuario ha metido los datos en el formato correcto con alguna función del tipo if o algo así. El problema es que no sé cómo detectar que cuando pido texto sea texto lo que se introduce en el recuadro del inputbox para volver a pedir los datos cuando no lo sean o lo que estoy esperando.
Muchas gracias de antemano

1 respuesta

Respuesta
1
Como no es fácil limitar directamente la escritura en un inputbox entonces te propongo una solución que quizá pueda servirte, lo agrego a un botón de comando.
Private Sub CommandButton1_Click()
Dim dato As String
If ListBox1 = "NUMERICO" Then
Do
dato = InputBox("Registre un numero", , TextBox1.Value)
If Not IsNumeric(dato) Then MsgBox "Debe introducir un dato valido", vbInformation, "I N F O R M A C I O N"
Loop Until IsNumeric(dato)
TextBox1 = dato
Else
Do
dato = InputBox("Registre un texto", , TextBox1.Value)
If IsNumeric(dato) Then MsgBox "Debe introducir un dato valido", vbInformation, "I N F O R M A C I O N"
Loop Until Not IsNumeric(dato)
TextBox1 = dato
End If
End Sub
Al parecer el formato que deseas extraer de inputbox seria variable entonces yo lo limito al valor que indique en un listbox al cual le agregarías los valores "NUMERICO" Y "TEXTO" respectivamente.
Pruébalo en un formulario aparte de tu proyecto y a este le agregas un textbox, un listbox y un botón de comando. Al listbox lo llenas con los datos que te mencione anteriormente.
Espero te sirva
Slds.
Att. Alfredo
Muchas gracias por tu rápida respuesta. Sólo tengo un problema que no sé como solucionar todavía. En el comando
dato = InputBox("Registre un numero", , TextBox1.Value)
Me devuelve un error porque parece que le falta algo.
Seguro que es alguna tontería pero es que aún me falta bastante uso con este lenguaje de programación.
Un saludo
Quisiera saber cual es el error que te muestra, por favor si puedes enviarle el mensaje de error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas