Anzeige
Archiv - Navigation
1044to1048
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Target-Variable übergeben...

Target-Variable übergeben...
30.01.2009 15:03:10
Richard


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.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Target-Variable übergeben...
30.01.2009 15:16:00
Tino
Hallo,
übergib doch Target als Rangeobjekt an Deine Eigene_Prozedur.
Beispiel:

Private Sub Worksheet_Change(ByVal Target As Range)
Call Eigene_Prozedur(Target)
End Sub
Sub Eigene_Prozedur(meTarget As Range)
MsgBox meTarget.Address
End Sub


Gruß Tino

AW: Target-Variable übergeben...
30.01.2009 15:27:00
Richard
Genau das habe ich ich gesucht...
Da arbeitet man schon so lange mit VBA und kriegt solche banalen Sachen immer noch nicht hin. Höchstpeinlich!
Aber dir immerhin doch vielen vielen Dank!
Gruß
Richard Esau

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige