Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Anzahl der markierten Zeilen ermitteln

Anzahl der markierten Zeilen ermitteln
31.07.2015 09:54:21
V
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

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl der markierten Zeilen ermitteln
31.07.2015 09:58:55
Michael
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

Anzeige
AW: Anzahl der markierten Zeilen ermitteln
31.07.2015 10:00:05
Werner
Hallo,
If Selection.Rows.Count > 1
Gruß Werner

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

AW: Anzahl der markierten Zeilen ermitteln
31.07.2015 10:02:44
V
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

Anzeige
AW: Anzahl der markierten Zeilen ermitteln
31.07.2015 10:25:18
EtoPHG
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

Anzeige
Selection.Rows.Count ...
31.07.2015 10:05:55
Rudi
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

Beispiel
31.07.2015 10:10:17
Rudi
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

Anzeige
AW: Beispiel
31.07.2015 10:19:18
V
Du bist ja schneller, als meine Nachfrage... :-)
Vielen, vielen Dank!!!

AW: Selection.Rows.Count ...
31.07.2015 10:17:54
V
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

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

AW: Anzahl der markierten Zeilen ermitteln
31.07.2015 11:16:31
Daniel
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
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Anzahl der markierten Zeilen in Excel ermitteln


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und öffne die Tabelle, in der du die markierten Zeilen zählen möchtest.

  2. Aktiviere das VBA-Fenster durch Drücken von ALT + F11.

  3. Füge ein neues Modul hinzu: Rechtsklicke im Projektfenster auf „VBAProject (dein Dokument)“ > „Einfügen“ > „Modul“.

  4. Kopiere den folgenden Code in das Modul:

    Sub AnzahlMarkierterZeilen()
       Dim anzahlZeilen As Long
       Dim a As Range
       anzahlZeilen = 0
    
       For Each a In Selection.Areas
           If a.Columns.Count = Columns.Count Then
               anzahlZeilen = anzahlZeilen + a.Rows.Count
           End If
       Next a
    
       MsgBox "Anzahl der markierten Zeilen: " & anzahlZeilen
    End Sub
  5. Schließe das VBA-Fenster und gehe zurück zu Excel.

  6. Markiere die Zeilen, deren Anzahl du ermitteln möchtest.

  7. Führe das Makro aus: Drücke ALT + F8, wähle „AnzahlMarkierterZeilen“ aus und klicke auf „Ausführen“.

Jetzt solltest du die Anzahl der markierten Zeilen in einer Messagebox angezeigt bekommen.


Häufige Fehler und Lösungen

  • Fehler: Anzeige von „1“ bei mehreren markierten Zeilen

    • Lösung: Achte darauf, dass du zusammenhängende Zeilen markierst. Bei nicht zusammenhängenden Bereichen musst du die Selection.Areas.Count verwenden, um jede Area einzeln zu prüfen.
  • Fehler: Markierte Zellen werden nicht gezählt

    • Lösung: Stelle sicher, dass du die EntireRow-Eigenschaft in deinem Code verwendest, um die gesamte Zeile zu erfassen.

Alternative Methoden

Eine andere Möglichkeit, die Anzahl markierter Zellen zu zählen, ist die Verwendung von Formeln direkt in Excel:

  • Formel: Wenn du die Anzahl der markierten Zellen in einer bestimmten Spalte zählen möchtest, kannst du die folgende Formel verwenden:

    =ANZAHL2(Bereich)

Hierbei ersetzt du „Bereich“ durch den tatsächlichen Bereich deiner markierten Zellen.


Praktische Beispiele

  1. Beispiel zur Zählung mit VBA:

    • Wenn du die Anzahl markierter Zeilen in einem Datensatz zählen möchtest, kannst du den oben beschriebenen VBA-Code verwenden.
  2. Verwendung der Formel:

    • Angenommen, du hast in Spalte A mehrere markierte Zellen und möchtest die Anzahl ermitteln. Du könntest die Formel =ANZAHL2(A:A) in eine Zelle eingeben, um die Anzahl der nicht leeren Zellen in Spalte A zu zählen.

Tipps für Profis

  • VBA anpassen: Du kannst den VBA-Code anpassen, um die Anzahl der markierten Zellen anzuzeigen oder eine andere Aktion auszuführen, wenn die Anzahl der markierten Zeilen größer als 1 ist.

  • Tastenkombinationen: Erstelle eine benutzerdefinierte Tastenkombination für dein Makro, um es schneller ausführen zu können.


FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der markierten Zellen in einer bestimmten Zeile ermitteln?
Du kannst die Anzahl der markierten Zellen mit der Formel =ANZAHL2(Zeile:Zeile) zählen, wobei „Zeile:Zeile“ die spezifische Zeile ist, die du prüfen möchtest.

2. Warum wird die Anzahl der markierten Zeilen nicht korrekt angezeigt?
Stelle sicher, dass du komplette Zeilen markierst und dass nicht zusammenhängende Bereiche korrekt behandelt werden, indem du die Areas-Eigenschaft im VBA-Code verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige