Criando uma sequência numérica no Excel do primeiro número de entrada ao segundo

Criando uma sequência numérica no Excel do primeiro número de entrada ao segundo

Quero escrever números em uma caixa de mensagem entre dois números que eu escolher. Ao verificar se são números pares e devem ser do menor ao maior número. Os 2 números devem ser positivos e menores que 100.

Estou usando Visual Basic no Excel, mas nunca o usei 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

Responder1

Eu faria isso de forma um pouco diferente. Você certamente pode acionar isso com um command_button. Observe que eu verifico números pares (e também não consideraria zero um número positivo (ou negativo, nesse caso).

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

informação relacionada