Už so Select Case dosiahneš ohromné zjednodušenie a prehľadnosť.
Ako je to s Private, neviem, ale Ty tu nevoláš Private procedúry ale z Private voláš všeobecné procedúry.
Ja som zatiaľ Call nepoužil nikde aj keď v jednom mojom dotaze to bolo jedno z fungujúcich riešení ale fungovalo aj klasické volanie samotným menom.
Čiže keď máš makro napr
Sub Skuska (mesto)
MsgBox mesto
End Sub
tak volaním tejto procedúry
.
.
.
.
Skuska "Praha"
sa spustí makro Skuska, pričom je mu odovzdaný parameter "Praha", ktorý makro Skuska prevezme do premennej mesto a v MsgBoxe Ti Vypíše Praha
Tu som Ti zároveň naznačil možnosť použitia odovzdávania argumentu, ktoré je pre Tvoj prípad tiež užitočné pre zjednodušenie kódu.