
Estoy creando un formulario de usuario donde quiero realizar un análisis de regresión a partir de los datos de entrada para cuatro funciones fi(x), que están registradas en cada uno de los cuadros de texto correspondientes.
Para comprobar si las funciones de entrada son válidas he propuesto dos condicionales, el primero para verificar que ninguno de los cuadros de texto esté vacío (esto funciona):
If p = 1 Then
box = MsgBox("No functions were provided for regression analysis.", vbInformation, "Regression Toolbox Info")
Exit Sub
End If
mientras que en el segundo quiero verificar que si alguno de los valores ingresados no es válido, al no ser función de x, me informará, por ejemplo si se ingresa texto o algún otro dígito que no permita realizar los cálculos. hacerse.
For i = 2 To p
If (fxn(i - 1) = "x") Then
ElseIf IsError(Evaluate(Replace(fxn(i - 1), "x", 2))) Then
box = MsgBox("The f" & i - 1 & "(x) input is invalid as it is not a function of x." & _
"Check your data input and correctness of syntaxis of f(x) functions." & _
vbNewLine & vbNewLine & "If you want to type in only x you should type in ""1*x""." & _
vbNewLine & vbNewLine & _
"Several functions with multiplication of x (e.g. fx1 = 1*x, fx2 = 2*x)" & _
"are not allowed.", vbCritical, "Error!")
Exit Sub
ElseIf InStr(fxn(i - 1), "x") = 0 Then
box = MsgBox("The f" & i - 1 & "(x) input is invalid as it is not a function of x", vbCritical, "Error!")
Exit Sub
End If
Next i
Respecto a esto último, el código que tengo hasta el momento registra falla, ya que a pesar de ingresar funciones válidas en cada uno de los textbox, me da el mensaje de que es un input no válido, es decir toma cualquier valor. como entrada no válida. He probado varias modificaciones de las líneas, pero me sigue saliendo el mismo error, ¿dónde puedo estar cometiendo el error que no me permite llegar al resultado que busco?
Muchas gracias por su valiosa cooperación.
pdt: En el siguiente enlaceLibro de trabajo, puedes encontrar el Libro de trabajo con el código en el que estoy trabajando. Si se omiten las líneas relacionadas con la verificación, el código completo funciona perfectamente, sin embargo, faltaría la verificación de los datos ingresados en cada uno de los cuadros de texto, para poder verificar si son entradas válidas o no.