Quiero escribir números en un cuadro de mensaje entre 2 números que elijo. Mientras compruebas si son números pares y tienen que ser del menor al mayor. Los 2 números tienen que ser positivos y menores que 100.
Estoy usando Visual Basic en Excel, pero nunca lo había usado antes.
Private Sub CommandButton1_Click()
Dim a, b, P, i As Integer
a = InputBox("Write number from 1 to 100 ")
If a <= 0 Or a >= 100 Then
MsgBox "Wrong input"
Exit Sub
End If
b = InputBox("Write number from 1 to 100 ")
If b <= 0 Or b >= 100 Then
MsgBox "Wrong input"
Exit Sub
End If
For i = a To b
If a <> 0 & a <= b Then
a = a + 1
Else
P = a
a = a + 1
Exit For
End If
Next i
MsgBox P
End Sub
Respuesta1
Yo lo haría un poco diferente. Ciertamente puedes activar esto con un botón de comando. Tenga en cuenta que verifico los números pares (y tampoco consideraría que el cero sea un número positivo (o negativo, de hecho).
Option Explicit
Sub CreateSequence()
'Note each variable must have a type declaration,
' else they will be of type Variant
Dim x As Long, y As Long, z As Long
Dim S As String
x = InputBox("First Number")
y = InputBox("Second Number")
If Not CheckNum(x) Or Not CheckNum(y) Then
MsgBox "Both numbers must be positive and less than 100"
Exit Sub
End If
If x > y Then 'reverse x and y
z = y
y = x
x = z
End If
For z = x To y
'check if even and add to string if they are
If z Mod 2 = 0 Then S = S & vbLf & z
Next z
'Remove the leading separator (vbLf)
S = Mid(S, 2)
MsgBox S
End Sub
Function CheckNum(L As Long) As Boolean
If L > 0 And L < 100 Then
CheckNum = True
Else
CheckNum = False
End If
End Function