Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
392to396
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
392to396
392to396
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Target as Range ???

Target as Range ???
05.03.2004 15:27:35
Ben
Hallo,
ich verstehe die Redeweise "Target as Range" nicht. Nehmen wir die Prozedur Worksheet_Change:
Ich vermute, Target ist hier jene Zelle, die geändert wird bzw. gerade geändert worden ist. - Richtig?
Aber wie steht es in der Prozedur Worksheet_SelectionChange?
Nehmen wir an, Zelle A1 ist selektiert, ich drücke Enter, und der Cursor springt auf Zelle A2. Ist Target hier A2 - oder A1?
Überhaupt ist mir nicht klar, warum man von Target sprechen muß, wenn man doch schon von ActiveCell u. dgl. sprechen kann. Wozu? Ich frage mich z.B. auch, ob
Target.Value
dasselbe ist wie
Target.Text
Für Angaben hierzu wäre ich Euch sehr verbunden!
Viele Grüße, Ben.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Target as Range ???
05.03.2004 15:49:08
Alex K.
Hallo Ben,
Target ist lediglich der Variablenname. Dieser ist frei wählbar und sollte ein Bezug zu dem Inhalt der Variable habe. Also MS könnte die Varible auch "Hans", "Ziel", "Zelle" oder sonstwie nennen.
Wichtiger ist die Anweisung "As Range". Diese Anweisung bestimmt den Datentyp der Variable. "Range" ist eine Klasse und diese Klasse besitzt Methoden z.B. Target.Address und Eigenschaften z.B. Target.Value
Über die Hilfe mal nach dem Begriff "Range" suchen und dort dann "Range Objekt" auswählen. Dann siehst du alle Methoden und Eigenschaften für dieses Objekt.
Der Unterschied zwischen .Value und .Text ist ganz einfach. In .Value steht der eigentlich Wert der Zelle, in Text steht der formatierte Wert der Zelle. Augenscheinlich wird dies z.B. bei einer Zelle mit einem Datum.
In .Value steht z.B. 37987 und in .Text steht "1.1.2004" bei einer Zellformatierung "T.M.JJJJ".
Probiere doch mal aus in der Ereignis-Prozedur "Worksheet_SelectionChange" die Anweisung
MsgBox Target.Address
einzufügen. Dann wechsle mal in deiner Tabelle zwischen beliebigen Zellen bzw. markiere mal eine Zelle / Zellbereiche. Dann siehst du, was passiert. Probieren geht über Studieren :-)
Anzeige
AW: Target as Range ???
05.03.2004 15:57:17
ANdreas
Hallo Ben,
diese beiden Ereignisse für ein Worksheet haben nun mal diesen Parameter der übergeben wird. Bei SelectionChange wird/werden die neu selektierte(n) Zelle(n) übergeben, also in Deinem Beispiel richtig A2.
Der Wert einer Zelle ist anders als der Text. Eine Zelle hat viele "Eigenschaften", die per VBA angesprochen werden können.
Dazu gib in A1 einfach die Zahl 100 ein.
Und in A2 die Formel =A1 und formatiere A2 als Währung.
Dann teste mal dieses Beispielmakro um ein paar verschiedene Eigenschaften der Zelle per SelectionChange anzuzeigen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim s$, c As Range, i%
i = 1
For Each c In Target 'Kann auch Mehrfachselektion verarbeiten
With c
s = ".Address: " & .Address & vbCrLf & _
".Value: " & .Value & vbCrLf & _
".Text: " & .Text & vbCrLf & _
".Formula: " & .Formula & vbCrLf
MsgBox s, , i & ". Zelle von " & Target.Count & " (" & _
Target.Address(0, 0) & ")"
i = i + 1
End With
Next c
End Sub

Schnell wird Dir auffallen, das .Value den tatsächlichen Wert der Zelle anzeigt. Dagegen enthält .Text das in der Zelle angezeigte. Dann versuch das auch mit Mehrfachselektion, markiere also z.B. A1 und A2 gleichzeitig ;-)
Hoffe das hilft weiter,
Andreas
Anzeige
AW: Target as Range ???
05.03.2004 17:02:07
Ben
Hallo Alex und Andreas,
herzlichen Dank für Eure Auskünfte und Makros!
Das hat mir doch schon mal sehr weitergeholfen.
Weiterhin alles Gute und ein erholsames Wochenende!
Gruß, Ben.
Danke für die Rückmeldung oT
05.03.2004 17:12:16
Alex K.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige