Aloha
toni007 hat geschrieben:DPunch, bis auf den unterschiedlichen Prozeduraufruf ist der Code in den Case-Abschnitten absolut identisch. Da liegt es doch nahe, den sich wiederholenden Code auszulagern (Pflegeaufwand, Übersichtlichkeit) und das ganze über Parameter zu steuern.
Das liegt durchaus Nahe, nur erschleisst sich mir einfach nicht, warum Du erst eine Verzweigung zur Entscheidung für eine bestimmte Prozedur einbaust, diese (wäre es möglich) an eine weitere Prozedur weiterreichst, welche dann aufgrund des Übergabeparameters wiederum entscheiden soll, welche Prozedur aufgerufen werden soll.
Wenn es Dir um Pflegeaufwand / Übersichtlichkeit geht, verpack den ganzen Codeausschnitt, der über die aufzurufende Prozedur entscheidet, in eine Subroutine und übergib dieser die für die Entscheidungsfindung relevante(n) Variable(n).
Code: Alles auswählen
Sub Test
Entscheidung(meineEntscheidungsvariable)
End Sub
Sub Entscheidung(nParameter)
If ..... Then
...
ElseIf.... Then
...
Else
Select Case nParameter
...
Case 3
Call Sub1
Case 4
Call Sub2
...
End Select
End If
End Sub