Private Sub VolaniPoProcedure()
If ii = 1 Then
Procedura = "Makro_" & "" & ii
Application.Run Procedura
End If
End Sub
Dle rozhodujícího bolku se do proměné Procedura uloží string Makro_ii a spustí ji.
Doporučuji nepoužívat název sub jako název procedůry, mohlo by to zlobit, pač SUB je přikaz pro začátek prcedůry samotné.
Snad jsem pomohl citovat