Anzahl der markierten Zeilen ermitteln

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Anzahl der markierten Zeilen ermitteln
von: V A T
Geschrieben am: 31.07.2015 09:54:21

Hallo,
ich habe mal wieder eine Frage und hoffe auf Eure versierte Hilfe!
Meine Frage: Wie kann ich per VBA-Code die Anzahl(!) der aktuell markierten Zeilen ermitteln?
Hintergrund: Ich habe eine Tabelle, in die ich auf Knopfdruck eine Zeile einfüge. Und zwar nur dann, wenn eine komplette(!) Zeile markiert ist. Die Abfrage, um sicherzustellen, dass die komplette Zeile, nicht nur eine Zelle markiert ist, funktioniert prima ("If Selection.Columns.Count = Columns.Count Then ..."). Was mir noch fehlt ist zu erkennen, ob nicht mehrere Zeilen komplett markiert sind - und wenn ja, wieviele.
Vielen Dank an alle, die mich hier unterstützen!
Gruß
V A T

Bild

Betrifft: AW: Anzahl der markierten Zeilen ermitteln
von: Michael (migre)
Geschrieben am: 31.07.2015 09:58:55
Hallo VAT,
...ähnlich wie Du ja schon Selection.Columns.Count einsetzt kannst Du ja auch die Zeilen Deiner Auswahl zählen: Selection.Rows.Count bzw. fragen ob diese über 1 sind, sinngemäß

if Selection.Rows.Count > 1 then ... 
LG
Michael

Bild

Betrifft: AW: Anzahl der markierten Zeilen ermitteln
von: Werner
Geschrieben am: 31.07.2015 10:00:05
Hallo,

If Selection.Rows.Count > 1
Gruß Werner

Bild

Betrifft: AW: Anzahl der markierten Zeilen ermitteln
von: Nepumuk
Geschrieben am: 31.07.2015 10:00:32
Hallo,
na einfach analog zur Spalte:
Selection.Rows.Count
Gruß
Nepumuk

Bild

Betrifft: AW: Anzahl der markierten Zeilen ermitteln
von: V A T
Geschrieben am: 31.07.2015 10:02:44
Hallo,
danke für Eure schnelle Antwort. Sorry, ich hätte folgende Info mitschicken müssen:
Beim googlen habe ich natürlich den Hinweis auf "Selection.Rows.Count" gefunden. Aber wenn ich mir den Wert per Messagebox anzeigen lasse ("msgbox(Selection.Rows.Count)"), bekomme ich - egal wie viele Zeilen markiert sind - immer den Wert "1".
Mach ich da was falsch oder einen Denkfehler?!
Gruß
V A T

Bild

Betrifft: AW: Anzahl der markierten Zeilen ermitteln
von: EtoPHG
Geschrieben am: 31.07.2015 10:25:18
Hallo V A T
Rows.Count und Columns.Count gibt nur für zusammenhängende Bereiche (Range) die Anzahl Zeilen, bzw. Spalten, zurück.
Für nicht zusammenhängende Bereiche wird die Anzahl Zeilen/Spalten des ersten Elements zurück gegeben!
Gruess Hansueli

Bild

Betrifft: Selection.Rows.Count ...
von: Rudi Maintaire
Geschrieben am: 31.07.2015 10:05:55
Hallo,
... ergibt 1 wenn es sich um eine unzusammenhängende Markierung handelt.
Man müsste zusätzlich Selection.Areas.Count abfragen und hier für jede Area, ob es sich um eine komplette Zeile handelt.
Gruß
Rudi

Bild

Betrifft: Beispiel
von: Rudi Maintaire
Geschrieben am: 31.07.2015 10:10:17
Hallo,

Sub aaa()
  Dim a As Range
  For Each a In Selection.Areas
    If a.Columns.Count <> Columns.Count Then
      MsgBox "Nur ganze Zeilen markieren!"
      Exit Sub
    End If
  Next
End Sub

Gruß
Rudi

Bild

Betrifft: AW: Beispiel
von: V A T
Geschrieben am: 31.07.2015 10:19:18
Du bist ja schneller, als meine Nachfrage... :-)
Vielen, vielen Dank!!!

Bild

Betrifft: AW: Selection.Rows.Count ...
von: V A T
Geschrieben am: 31.07.2015 10:17:54
Hallo Rudi,
das geht in die richtige Richtung! Ich habe bisher jede Zeile durch anklicken des jeweiligen Zeilenkopfes bei gedrückter "Strg"-Taste markiert. Dann kommt immer "1".
Funktionieren tut es, wenn ich die Zeilen in einem Zug markiere. Allerdings pasiert das in meinem Fall nie. Bei mir sind es immer unabhängige Zeilen-Einzelmarkierungen.
Könntest Du netterweise deinen Ansatz mit den Areas nochmals etwas ausführen? Ich kann die Anzahl der Areas abfragen, aber wie kann ich ermitteln, ob es sich bei jeder der ausgwählten Areas um eine komplette Zeile handelt? Ich bin da nicht wirklich fit.
Vorab schon mal dank an dich und auch alle anderen Helfer!!!
Gruß
V A T

Bild

Betrifft: AW: Selection.Rows.Count ...
von: Rudi Maintaire
Geschrieben am: 31.07.2015 10:23:00
Hallo,
das ist doch schon mit drin.
If a.Columns.Count <> columns.Count Then
Gruß
Rudi

Bild

Betrifft: AW: Anzahl der markierten Zeilen ermitteln
von: Daniel
Geschrieben am: 31.07.2015 11:16:31
Hi
die Anzahl der markierten Zeilen kannst du für lückenhaft markierte Zellbereiche so ermitteln:

Anzahl Zeilen = Intersect(Selection.EntireRow, Columns(1).Cells).Count
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Anzahl der markierten Zeilen ermitteln"