Atasco
Publicado por Gumer (6 intervenciones) el 29/08/2006 18:50:48
Estoy haciendo un curso de Visual Basic que he encontrado en la red en el que todas las secuencias explicadas tienen algún error intencionado o le faltan cosas a fin de que el que lo hace piense y apenda de ese modo. He avanzado hasta este punto en el que me he quedado atascado. Debe ser aluna tontería que me falta o me sobra pero llevo todo el día haciendo pruebas y no hay forma de que funcione correctamente. No lo explico, ya que es algo muy simple. Ahí va la macro:
Sub Ejemplo_18()
'NO FUNCIONA
Dim Signo As String
Dim Valor1 As Single, Valor2 As Single, Total As Single
Dim Continuar As Boolean
Valor1 = Val(InputBox("Entrar el Valor1", "Entrar"))
Valor2 = Val(InputBox("Entrar el Valor2", "Entrar"))
Signo = InputBox("Signo", "Entrar")
Continuar = True
ActiveSheet.Range("A1").Value = Valor1
ActiveSheet.Range("A2").Value = Valor2
ActiveSheet.Range("A3").Value = Signo
ActiveSheet.Range("A4").Value = Continuar
If Not IsNumeric(ActiveSheet.Range("A1")) Or Not IsNumeric(ActiveSheet.Range("A2")) Or IsEmpty(ActiveSheet.Range("A1:A3")) Then
MsgBox Prompt:="Debe entrar números en A1 y A2 y un signo (+,-,x, : ) en A3", Title:="ERROR"
Continuar = False
Else
Select Case Signo
Case "+"
Total = Valor1 + Valor2
Case "-"
Total = Valor1 - Valor2
Case "*"
Total = Valor1 * Valor2
Case "/"
Total = Valor1 / Valor2
Case Else
Total = 0
End Select
ActiveSheet.Range("A5").Value = Total
End If
End Sub
Muchas gracias anticipadas por vuestras rspuestas.
Gumer
Sub Ejemplo_18()
'NO FUNCIONA
Dim Signo As String
Dim Valor1 As Single, Valor2 As Single, Total As Single
Dim Continuar As Boolean
Valor1 = Val(InputBox("Entrar el Valor1", "Entrar"))
Valor2 = Val(InputBox("Entrar el Valor2", "Entrar"))
Signo = InputBox("Signo", "Entrar")
Continuar = True
ActiveSheet.Range("A1").Value = Valor1
ActiveSheet.Range("A2").Value = Valor2
ActiveSheet.Range("A3").Value = Signo
ActiveSheet.Range("A4").Value = Continuar
If Not IsNumeric(ActiveSheet.Range("A1")) Or Not IsNumeric(ActiveSheet.Range("A2")) Or IsEmpty(ActiveSheet.Range("A1:A3")) Then
MsgBox Prompt:="Debe entrar números en A1 y A2 y un signo (+,-,x, : ) en A3", Title:="ERROR"
Continuar = False
Else
Select Case Signo
Case "+"
Total = Valor1 + Valor2
Case "-"
Total = Valor1 - Valor2
Case "*"
Total = Valor1 * Valor2
Case "/"
Total = Valor1 / Valor2
Case Else
Total = 0
End Select
ActiveSheet.Range("A5").Value = Total
End If
End Sub
Muchas gracias anticipadas por vuestras rspuestas.
Gumer
Valora esta pregunta


0