Crear una secuencia numérica en Excel desde el primer número de entrada hasta el segundo

Crear una secuencia numérica en Excel desde el primer número de entrada hasta el segundo

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

información relacionada