EJECUTAR MACRO directo a etiqueta

18/09/2007 - 23:46 por Marvin | Informe spam
Que tal grupo, sabe alguien cual sería mi codigo para mandar llamar a un
procedimiento directamente hasta una etiqueta del mismo procedimiento??

Es decir..

Sub test()
if msgbox ("Quieres comer?",vbYesNo+vbQuestion,"FIESTA")=vbyes then
Comida
Else
Comida NC 'AQUI ES CORRECTO poner la etiqueta?
end sub

Sub Comida()
msgbox "Pollo",vbInformation,"FIESTA"
msgbox "Carne",vbInformation,"FIESTA"
msgbox "Cerdo",vbInformation,"FIESTA"
NC:
msgbox "Hasta Luego",vbInformation,"FIESTA"
End Sub

Esto solo es un ejemplo de como quisiera que funcione, desde un
procedimiento llamar a otro hasta una atiqueta especifica.

GRCS
 

Leer las respuestas

#1 Héctor Miguel
19/09/2007 - 03:58 | Informe spam
hola, Marvin !

... cual seria mi codigo para mandar llamar a un procedimiento directamente hasta una etiqueta del mismo procedimiento??
Esto solo es un ejemplo de como quisiera que funcione, desde un procedimiento llamar a otro hasta una atiqueta especifica.



para este caso, necesitas agregar a tu procedimiento *secundario* un argumento que de ser *pasado* al llamarlo
siga otras instrucciones dentro del mismo procedimiento haciendo un *salto* hacia una etiqueta +/- como sigue:

1) el procedimiento *secundario*...

Sub Comida(Optional SaltarComida As Boolean = False)
If SaltarComida Then GoTo SeAcaboLaFiesta
MsgBox "Pollo", vbInformation, "FIESTA"
MsgBox "Carne", vbInformation, "FIESTA"
MsgBox "Cerdo", vbInformation, "FIESTA"
SeAcaboLaFiesta:
MsgBox "Hasta Luego", vbInformation, "FIESTA"
End Sub

2) la forma de *llamarlo* desde otro procedimiento...

Sub Menu()
Comida IIf(MsgBox("Quieres comer?", _
vbYesNo + vbQuestion, "FIESTA") = vbYes, False, True)
End Sub

o... la forma *tradicional* de una instruccion If...Else..End If

Sub Menu()
If MsgBox("Quieres comer?", vbYesNo + vbQuestion, "FIESTA") = vbYes Then
Comida
Else
Comida True
End If
End Sub

saludos,
hector.

__ el codigo expuesto __
Sub test()
if msgbox ("Quieres comer?",vbYesNo+vbQuestion,"FIESTA")=vbyes then
Comida
Else
Comida NC 'AQUI ES CORRECTO poner la etiqueta?
end sub

Sub Comida()
msgbox "Pollo",vbInformation,"FIESTA"
msgbox "Carne",vbInformation,"FIESTA"
msgbox "Cerdo",vbInformation,"FIESTA"
NC:
msgbox "Hasta Luego",vbInformation,"FIESTA"
End Sub

Preguntas similares