Validar con msgbox antes de seguir con la macro

tengo una macro en que me multiplica directo por 2 pero quisiera colocarle un msgbox que me dice deseas continuar y si mi respuesta es si me multiplique y si mi respuesta es no, no me multiplique o sea no me ejecute la macro lo intente hacer pero no me resulto al colocarle que no igual me ejecuta la macro esta es la macro que tengo no se si se entendió mi pregunta.

Sub multiplicaPor2()
Dim i As Integer
For i = 1 To 6
Cells(i, 2) = Cells(i, 2) * 2 ' Multiplica por 2 lo que hay en la fila "i" columna 2 (B) y lo deja en la misma celda
Next i
If MsgBox("Deseas continuar?", vbOKCancel + vbQuestion, "TokenRing") = vbOK Then
MsgBox "Si"
Else
MsgBox "No"
End If
End Sub

1 Respuesta

Respuesta
1

Como estás, mira debes hacer esto

Sub multiplicaPor2()
Dim i As Integer

mivariable = respuesta = MsgBox("Deseas continuar?", vbOKCancel + vbQuestion, "TokenRing")

If mivariable = 1 Then
For i = 1 To 6
Cells(i, 2) = Cells(i, 2) * 2 ' Multiplica por 2 lo que hay en la fila "i" columna 2 (B) y lo deja en la misma celda
Next i
Else
Exit sub
End If

mira estos ejemplos si deseas aprender más sobre msgbox http://www.programarexcel.com/2013/10/como-crear-un-msgbox-vba-en-excel.html

Hola, Hice lo que me dijo y me paso esto error de compilación se esperaba End Sub

lo Agregue al final ese End Sub y me aparece la pregunta pero no me la multiplica al querer aceptar no me hace nada.

por su ayuda muchas gracias

Como estás, este código funciona bien cópialo y pégalo.

Sub multiplicaPor2()
Dim i, mivariable As Integer
mivariable = MsgBox("Deseas continuar?", vbOKCancel + vbQuestion, "TokenRing")
If mivariable = 1 Then
For i = 1 To 6
Cells(i, 2) = Cells(i, 2) * 2 ' Multiplica por 2 lo que hay en la fila "i" columna 2 (B) y lo deja en la misma celda
Next i
Else
Exit Sub
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas