He leído los pros y los contras de las ON X GOTO
declaraciones y estoy al tanto de las alternativas de llamadas y jmp y del hecho de que se considera una mala práctica, pero me gustaría una solución alternativa simple para su uso. Igualmente (no solo ser perezoso) sino que el uso de extensas líneas de código para cada alternativa parece ineficiente y no tan fácil de leer.
En esencia, me gustaría una alternativa simple a lo siguiente (escrito en código en inglés en lugar de cualquier código específico pero necesario en VBA):
Input x
On x Goto LineA, LineB, LineC
LineA....
End
LineB....
End
LineC....
End
o:
List of alternatives (choice = 1, choice = 2, choice = 3)
Input choice
on choice someVariable = string1, string2, string3
(Remaining code which uses that string)
Ambos son muy similares, teniendo en cuenta que la lista podría tener cualquier longitud y las cadenas podrían ser más largas, pero seleccionadas por una sola declaración en lugar de saltar a nuevas líneas de código en cada caso específico.
fuente
Respuestas:
No ignore las mejores prácticas y consejos. Este código es perfectamente legible y hace lo que necesita sin romper las reglas ...
fuente