Hallo liebe Excel-VBA-Fans,
hab da wieder ein Problem, wo ich nicht wirklich weiterkomme. Einer Prozedur mit dem "Worksheet_Change"-Ereignis, wird soweit ich das vestehe eine Variable Names Target in der ArgListe an die Prozedur übergeben, z.B.: Private Sub Worksheet_Change(ByVal Target As Range).
Target ist also immer die Zelle, an der ich eine Veränderung vornehme.
Jetzt binde ich eine Art Plausibilitätsabfrage in Form einer Select-Case-Anweisung in eine solche Prozedur (siehe Beispiel)
Select Case Len(Target.Value)
Case Is = 15
MsgBox "ZU LANG"
Target.Offset(0, 0).Select
Case 11, 13
MsgBox "OK!"
Call Eigene_Prozedur '
Diese "Eigene_Prozedur" enthält ca. 125 Codezeilen. Davon wird 26x die Variable "Target" im Zusammenhang mit den Eigenschaften ".Row", ".Value" und ".Offset" verwendet.
Ich könnte den Code einfach 2x kopieren aber dann würde ich nicht Codezeilen sparend programmieren. Ich könnte auch den Code umprogrammieren um an das Ergebnis zu kommen, ist aber verbunden mit viel Arbeit. Leider schrieb ich meinen Code viel früher, wusste bis dahin noch nicht, dass mir diese Select-Case-Anweisung viel Arbeit ersparen könnte.
Und nun seid ihr gefragt: Es muss doch eine ganz simple Lösung geben, wie ich Target in meine Eigene Prozedur mit übernehmen kann!
Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe und mir jemand helfen kann.
Mit freundlichen Grüßen
Richard E.