Makro automatisch ausführen

Hallo.
ich habe folgendes Problem:
Ich habe ein Makro, das mir ander makros ausführt, wenn ein bestimmter Wert in der Zelle steht. Aber es wird jeweils nur immer das erste Makro ausgeführt. (Ich glaube, das es daran hängt, das ein jedes Makro das ausgeführt wird, (zb Josko) mit end sub beendet wird. Wie kann ich das umgehen???
Oder ist da ein anderer Fehler vorhanden?
Das ist das Makro, das die anderen starten soll:

Sub Startmakro()

If Cells(13, 7).Value = 1 Then
KrisamAnton
End If

If Cells(14, 7).Value = 1 Then
KrisamRene
End If

If Cells(15, 7).Value = 1 Then
EhrenreichRobert
End If

If Cells(16, 7).Value = 1 Then
EhrenreichErwin
End If

If Cells(17, 7).Value = 1 Then
Josko
End If

If Cells(18, 7).Value = 1 Then
lehr
End If

If Cells(19, 7).Value = 1 Then
lehr1
End If

If Cells(20, 7).Value = 1 Then
lehr2
End If

If Cells(21, 7).Value = 1 Then
lehr3
End If

Exit Sub

End Sub

und dies soll ein gestartetes Makro sein:
Sub Josko()

’ Josko Makro
’ Makro am 08.02.02 von Krisam Anton geschrieben


Sheets(„Josko“).Select
Rows(„11:11“).Select
Selection.Insert Shift:=xlDown
Sheets(„Tabelle3“).Select
Range(„B3:H3“).Select
Selection.Copy
Sheets(„Josko“).Select
Range(„B11“).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub

vieleicht kann mir wer helfen

Sub Startmakro()

If Cells(13, 7).Value = 1 Then

call KrisamAnton

End If

[…]

If Cells(21, 7).Value = 1 Then

call lehr3

End If

Exit Sub