Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

markierte Zeilen (Zellen) abfragen?

markierte Zeilen (Zellen) abfragen?
25.11.2004 15:13:28
Frank
Hallo,
folgendes: Ich will mit dem Klick auf einen Button, abfragen welche Zeilen (Zellen würden auch reichen, dann kann ich die Zeilen ja abfragen) aktuell markiert sind, bzw. vor dem Klick aktiviert waren, falls dieser die Markierung ändert. Wenn das nicht geht, dann ohne Button, aber als Makro, was ich per Tastenkombination aufrufen kann.
Sinn des ganzen ist dann in den markierten Zeilen, in einem gewissen Bereich die Spalten durchzugehen und die Inhalte zu löschen.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: markierte Zeilen (Zellen) abfragen?
Volker
Hallo Frank,
wie werden denn die Zellen markiert, die Du abfragen willst?
Gruß
Volker
AW: markierte Zeilen (Zellen) abfragen?
25.11.2004 15:37:48
Frank
Per Mausklick und evtl Strg/Shift um mehrere Zellen/Zeilen auszuwählen
Hauptaugenmerk liegt aber auf ganzen Zeilen ... ;)
AW: markierte Zeilen (Zellen) abfragen?
Jörg
Hallo Frank,
schau dir in der VBA Hilfe mal die Selection-Eigenschaft an.
Gruss Jörg
AW: markierte Zeilen (Zellen) abfragen?
25.11.2004 15:40:37
Frank
"Der zurückgegebene Objekttyp richtet sich nach der aktuellen Auswahl (bei Auswahl einer Zelle gibt diese Eigenschaft beispielsweise ein Range-Objekt zurück). Die Eigenschaft Selection gibt Nothing zurück, wenn nichts markiert wurde."
Ok, aber dann wird's kniffliger, wie kann ich nun aus der Selection, dei Zeilen bekommen?
Also Beispiel Zeile 11,12 und 16 Wurden markiert, wie bekomm ich aus dem Range dann diese Zeilennummern?
Anzeige
AW: markierte Zeilen (Zellen) abfragen?
Ingolf
Hallo Frank,
über "Selection.Address" bekommst du die absoluten Adressen der ausgewählten Bereiche, d.h. mit Dollarzeichen vor den Zeilen- und Spaltenangaben. Daraus könntest du über inneinander verschachtelte Schleifen
a. jedes zweite Dollarzeichen suchen (mit "Selection.Find")
b. die nachfolgenden Zeichen aus dem Adressstring schneiden (mit der Funktion "Mid()")
c. die herausgeschnittenen Zeichen auf Zahl prüfen (mit der Funktion "IsNumeric()")
und d. die so gefundenen Ziffern mit dem Operator "&" wieder zu Zeilenangaben zusammensetzen und diese mit der Funktion "Val()" in einen gültigen Zeilenwert umwandeln.
Das klingt alles ziemlich kompliziert und ist es auch. Wesentlich einfacher könntest du alle Zellen deiner Markierung mit einer For each...Next - Schleife abklappern und unter den von dir gewünschten Bedingungen dann den Inhalt löschen. Das könnte dann ungefähr so aussehen:

Sub Loesch()
Dim rng as Range
For Each rng in Selection.Cells
If (deine Bedingung, also z.B. "rng.Value = 5") = True Then
rng.ClearContents
End If
Next rng
End Sub

Gruß Ingolf
Anzeige
AW: markierte Zeilen (Zellen) abfragen?
26.11.2004 10:34:34
Frank
Danke für die Hilfe!
Ist im Prinzip ja wie das vom Jörg, nur dass bei dir der Augenmerk auf den Zellen liegt, deswegen werde ich wohl seines etwas umstricken. Aber du hast mir gleich weiter geholfen, denn dank deinem "rng.ClearContents" weiß ich wie ich elegant den Inhalt lösche! (Ich hätte es wohl sonst mit Value ="" versucht ... ;) )
AW: markierte Zeilen (Zellen) abfragen?
Jörg
Hallo Frank,
ich bin selbst nur VBA Anfänger, ich habe dir mal zur Veranschaulichung das Beispiel zur Rows Eigenschaft aus der VBA Hilfe etwas angepasst.

Sub Zeilen()
Worksheets("Tabelle1").Activate
Dim areaCount, i, a, b
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Rows.Count & " rows."
Else
i = 1
For Each a In Selection.Areas
MsgBox "Bereich " & i & " der Markierung enthält " & _
a.Rows.Count & " Zeilen."
For b = 0 To a.Rows.Count - 1
MsgBox a.Rows.Row + b
Next b
i = i + 1
Next a
End If
End Sub

Gruss Jörg
Anzeige
Gekürzt: markierte Zeilen (Zellen) abfragen?
Jörg
Hallo Frank,
ich habe das Makro vereinfacht

Sub Zeilen()
Worksheets("Tabelle1").Activate
Dim i, a, b
i = 1
For Each a In Selection.Areas
MsgBox "Bereich " & i & " der Markierung enthält " & _
a.Rows.Count & " Zeilen."
For b = 0 To a.Rows.Count - 1
MsgBox a.Rows.Row + b
Next b
i = i + 1
Next a
End Sub

Gruss Jörg
AW: Gekürzt: markierte Zeilen (Zellen) abfragen?
26.11.2004 10:38:09
Frank
Super! Großes Danke!
Das ist genau das was ich brauchte! :)
Das werd ich jetzt etwas umstricken und dann passt das perfekt! :)
Also Danke nochmal!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige