Consulta sobre un código del manual de Neckkito

Estoy haciendo el curso de VBA de Neckkito y he estado probando este código

Private Sub cboOperacion_AfterUpdate()
Dim v1 As Variant, v2 As Variant, vOper As String
v1 = Me.txt1.Value
v2 = Me.txt2.Value
vOper = Me.cboOperacion.Value
Select Case vOper
Case "+"
MsgBox "El resultado es " & v1 + v2, vbInformation, "RESULTADO"
Case "-"
MsgBox "El resultado es " & v1 - v2, vbInformation, "RESULTADO"
Case "*"
MsgBox "El resultado es " & v1 * v2, vbInformation, "RESULTADO"
Case Else
MsgBox "NO se ha podido realizar el cálculo", vbCritical, "RESULTADO"
End Select
End Sub

Que consiste en crear en un formulario 2 cuadros de texto y un cuadro combinado

El caso es que nunca me sale el msgbox del CASE ELSE ya que si dejo un campo en blanco o no elijo nada del cuadro combinado me salta otro error y no salta el mensaje, si no el error en tiempo de ejecución '94' y no se si es que estoy haciendo algo mal porque el código es idéntico al del manual

1 Respuesta

Respuesta

</Hola

Te paso la macro actualizada

Private Sub cboOperacion_AfterUpdate()
Dim v1 As Variant, v2 As Variant, vOper As String
v1 = Val(Me.txt1.Value)
v2 = Val(Me.txt2.Value)
'
'validamos los textbox
If Me.txt1 = "" Or Me.txt2 = "" Then
MsgBox "No se puede realizar la operación", vbCritical
Exit Sub
End If
'
vOper = Me.cboOperacion.Value
Select Case vOper
Case "+"
MsgBox "El resultado es " & v1 + v2, vbInformation, "RESULTADO"
Case "-"
MsgBox "El resultado es " & v1 - v2, vbInformation, "RESULTADO"
Case "*"
MsgBox "El resultado es " & v1 * v2, vbInformation, "RESULTADO"
Case "" ' validamos si el combox esta en blanco
MsgBox "No se puede realizar la operación", vbCritical
Me.txt1.SetFocus
End Select
End Sub

Me sigue sin funcionar, vamos que me sale el mismo error

y no se que significa el val(Me.txt1.value) y el Me.txt1.Setfocus

Tu formulario debe se así, con tres controles

Y sobre la preguntas son nombre de controles, y el val() te convierto a un valor numérico

No olvides de valorar, si falta algo avísame

Si eso lo se lo que no sabia es el val ni el setfocus

Pero que según el código me salta el. Mismo error

¿Qué error te sale?

¿En cuál línea sale el error?

Estas trabajando con excel VBA o Access Vba

¿Qué error te sale?

¿En cuál línea sale el error?

¿Estas trabajando con excel VBA o Access Vba?

Hice la prueba con excel vba y me funciona perfecto, si es acceso no estoy familiarizado con access

es en Access y a mi si me sale el resultado, lo malo es cuando deja de introducir un número o no elijes el signo de la operación a realizar

Si quitara el 3 de tu ejemplo y lo dejara en blanco me saldría un error en tiempo de ejecución 94 y en vez de este error quisiera que me saliera un mensaje indicándome que no se ha podido realizar la operación ya que según este código debería de hacer esto, pero no lo hace.

Están validadas los textbox no se como sería en access saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas