Uso del goto en macro de excel

Antes que nada agradezco tu atención, ahora mi problema:
Tengo la siguiente makro:
Sub Frakas()
Application.ScreenUpdating = False
Aportaciónes:
If Sheets("Recibo de Cobro 10").Range("XES13").Value = "" Then
GoTo Impuestos
Else
k = "CONTROL DE APORTACIÓNES"
d = Range("XES13").Value
t = "XES13"
GoTo complemento
Impuestos:
If Sheets("Recibo de Cobro 10").Range("XET13").Value = "" Then
GoTo Erogaciones
Else
k = "CONTROL DE IMPUESTOS"
d = Range("XET13").Value
t = "XET13"
GoTo complemento
Erogaciones:
If Sheets("Recibo de Cobro 10").Range("XEU13").Value = "" Then
GoTo Licencias
Else
k = "CONTROL DE EROGACIONES"
d = Range("XEU13").Value
t = "XEU13"
GoTo complemento
Licencias:
If Sheets("Recibo de Cobro 10").Range("XEV13").Value = "" Then
GoTo Fin:
Else
k = "Licencias"
d = Range("XEV13").Value
t = "XEV13"
GoTo complemento
complemento:
Sheets(k).Unprotect "Shadow"
a = Sheets("Licencias").Range("XEY1").Value
b = Sheets("Licencias").Range("XEY2").Value
c = Sheets("Licencias").Range("XEY3").Value
e = Sheets("Recibo de Cobro 10").Range("X24").Value
Sheets(k).Range(d).Hyperlinks.Add Anchor:=Range(d), Address:= _
"C:\Documents and Settings\Propietario\Escritorio\" & a & "\" & b & " " & c & ".pdf"
Sheets(k).Range(d).Value = e
Cells.Locked = True
Cells.FormulaHidden = True
Final:
Sheets(k).Protect "Shadow", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End If
End If
End If
End If
Fin:
End Sub
Suced lo siguient, al irse a la etiketa komplemento termina el procedimiento, pero no es mi intencion esa me gustaria que al llegar a la linea "Cells.FormulaHidden = True" antes d la etiketa "Final" regresara a la etiketa k origino la ejekucion de "komplemento" las kuales podrian ser (Aportaciónes, Impuestos, Erogaciones, Licencias).

1 Respuesta

Respuesta
1
Lo que pides considero quie lo puedes hacer con un if
if t = "XES13" then
go to Aportaciones:
else
if t = "XET13" then
Go to Impuestos:
Y así, pero no veo la funcionalidad porque de lo que yo veo aunque no entiendo bien la última parte hacer eso va a crear una macro infinita, pero si es lo que necesitas como te digo podrías hacerlo, como dato adicional en lugar de final deberías poner fin, ya que es la instrucción que das en el penúltimo grupo de instrucciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas