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

Bitte um Erläuterung einer VBA-Zeile

Bitte um Erläuterung einer VBA-Zeile
25.11.2007 13:16:00
Jean
Hallo,
ein Programm enthält folgende Zeile:
If Not Intersect(Target, [H7:H100] Is Nothing _
And Target.Count = 1 then Target.Offset(1,-6).Activate
Welche Bedeutung hat diese Zeile insgesamt und welche Bedeutung Target.Count = 1 im besonderen?
Gruß
Jean

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bitte um Erläuterung einer VBA-Zeile
25.11.2007 13:19:00
Hajo_Zi
Hallo Jean
Target.Count bedeutet es wurd nicht mehr als eine Zele geändert.
Der erste Teil prüft ob die geänderte Zelle n einem Bereich ist.

AW: Bitte um Erläuterung einer VBA-Zeile
25.11.2007 13:40:32
Jean
Hallo Hajo,
vielen Dank für Deine Antwort.
Hier ist das Teil aufs Wesentliche reduziert:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [H7:H100] Is Nothing _
And Target.Count = 1 then Target.Offset(1,-6).Activate
End Sub


Weshalb wird in diesem Fall das Target.Count = 1 benötigt?
Gruß
Jean

Anzeige
AW: Bitte um Erläuterung einer VBA-Zeile
25.11.2007 13:46:00
Hajo_Zi
Hallo Jean,
der Code läuft nicht da fehlt eine Klammer. Der Ersteller also Du, wollte wohl nur eine einzelne Zelle aktivieren.
Gruß Hajo

AW: Bitte um Erläuterung einer VBA-Zeile
25.11.2007 13:52:00
Jean
Hallo Hajo,
stimmt, hinter H100] gehört eine runde Klammer.
Aber dennoch, weshalb Target.Count = 1?
Gruß
Jean

AW: Bitte um Erläuterung einer VBA-Zeile
25.11.2007 14:13:00
Gerd
Hallo Jean,
lasse den Codeteil versuchsweise weg, dann wird u.U. ein mehrzelliger neuer Bereich ausgewählt.
Gruß Gerd

AW: Danke
25.11.2007 14:28:19
Jean
Hallo Gerd,
ich danke Dir für Deine Antwort. Jetzt habe ich den Sinn dieses Teils verstanden. Danke.
Einen schönen Sonntag.
Gruß
Jean

Anzeige
AW: Danke
25.11.2007 14:28:28
Jean
Hallo Gerd,
ich danke Dir für Deine Antwort. Jetzt habe ich den Sinn dieses Teils verstanden. Danke.
Einen schönen Sonntag.
Gruß
Jean

AW: Bitte um Erläuterung einer VBA-Zeile
25.11.2007 14:42:00
Daniel
Hi
durch die bedingung Target.Count = 1 wird die nachfolgende Anweisung nur ausgefürt, wenn genau eine Zelle selektiert ist.
dies wird normalerweise eingesetzt, wenn die nachfolgende Anweisung nur mit genau einer Zelle funktioniert.
durch die Bedingung wird dann ein Programmabbruch mit Fehlermeldung vermieden, falls doch Target aus mehreren Zellen bestehen sollte.
da aber .ACTIVATE auch mit mehreren Zellen funktioniert, gibt es in deinem Beispiel aus rein technischer Sicht keine Notwendigkeit für diese Anweisung.
Es könnte höchstens noch logische Gründe geben, warum die Anweisung nur ausgeführt werden soll, wenn Target aus einer Zelle besteht, aber die kann dir nur der Verfasser des Codes selbst sagen.
Gruß, Daniel

Anzeige
AW: @Daniel
25.11.2007 15:22:00
Gerd
Hallo Daniel,
da aber .ACTIVATE auch mit mehreren Zellen funktioniert, gibt es in deinem Beispiel aus rein technischer Sicht keine Notwendigkeit für diese Anweisung.
Es sei denn, der User nimmt eine Markierung vor, die zu einem Offset z.B. nach links von Spalte A führt.
Gruß Gerd

AW: @Daniel
25.11.2007 15:31:55
Daniel
HI
ja, das stimmt, aber wäre es in diesem Fall nicht besser, auf Target.Column zu prüfen?
Gruß, Daniel

AW: @Daniel
25.11.2007 15:44:03
Gerd
Hallo Daniel,
dies hängt von den Bedürfnissen des Anwenders ab.
Mit "Target.Count=1" in der vorgefundenen Kombination ist stets gewährleistet, dass
nur eine Zelle im gewünschten einspaltigen Bereich ausgewählt worden ist.
Gruß Gerd

Anzeige
AW: Bitte um Erläuterung einer VBA-Zeile
25.11.2007 15:22:00
Jean
Hallo Daniel,
ich danke Dir für Deine ergänzenden Erläuterungen. Ja, das macht Sinn.
Einen schönen Tag.
Gruß
Jean

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige