Я прочитал данные за и против заявлений ON X GOTO
и хорошо знаю об альтернативах Calls и Jmp и о том, что это считается плохой практикой, но хотел бы получить простое альтернативное решение для его использования. В равной степени (не просто ленивый), но использование обширных строк кода для каждой альтернативы кажется неэффективным и не так легко читаемым.
По сути, я хотел бы простую альтернативу следующему (написано на английском языке, а не какой-либо конкретный код, но необходимо в VBA):
Input x
On x Goto LineA, LineB, LineC
LineA....
End
LineB....
End
LineC....
End
или же:
List of alternatives (choice = 1, choice = 2, choice = 3)
Input choice
on choice someVariable = string1, string2, string3
(Remaining code which uses that string)
Оба очень похожи, учитывая, что список может быть любой длины, а строки могут быть длиннее, но все же выбираться одним оператором, а не переходить к новым строкам кода в каждом конкретном случае.