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

Forumthread: Prüfen ob eine oder mehrere ganze Zeilen markiert

Prüfen ob eine oder mehrere ganze Zeilen markiert
05.05.2014 14:27:48
Dip
Guten Tag Zusammen,
Gerne würde ich Euch fragen, ob es ein VBA Code gibt, der angibt, wieviele ganze Zeilen markiert wurden?
Mit ganze Zeile meine ich die Zeile wurde als ganzes markiert und nicht lediglich eine oder mehrere Zellen.
Bin für jede Hilfe dankbar!
Liebe Grüsse
Patrick

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob eine oder mehrere ganze Zeilen markiert
05.05.2014 14:33:44
EtoPHG
Hallo Patrick,
ins Tabellenblatt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Target.EntireRow.Address Then _
MsgBox "Es sind " & Target.Rows.Count & " Zeilen selektiert", , Target.Address
End Sub
Gruess Hansueli

Anzeige
AW: Prüfen ob eine oder mehrere ganze Zeilen markiert
05.05.2014 14:55:10
Dip
Hallo Hansueli,
Danke für Dein rasches Feedback!
Funktioniert wie gehabt :-)
Eine Ergänzung: Ich brauche dies als Bedingung, damit ein anderes Makro überhaupt gestartet wird.
Quasi: If eine oder mehrere ganze Zeilen markiert Then starte Makro X Else End
Wäre dies so möglich?
Optimal wäre es ohne _SelectionChange, denn dann könnte ich es in mein Addin speichern und mittels Verweis für alle entsprechenden Dokumente zentral zur Verfügung stellen bzw. verwalten.
Danke und Grüsse
Patrick

Anzeige
AW: Prüfen ob eine oder mehrere ganze Zeilen markiert
05.05.2014 15:22:00
EtoPHG
Hallo Patrick,
na dann (in ein Modul)
Public Function SelRowCount() As Long
If TypeName(Selection) = "Range" Then
SelRowCount = (Selection.Address = Selection.EntireRow.Address) * -Selection.Rows.Count
End If
End Function
Gruess Hansueli

Anzeige
AW: Prüfen ob eine oder mehrere ganze Zeilen markiert
05.05.2014 16:41:28
Dip
Perfekt! :-)
Herzlichen Dank Hansueli für Deine Hilfe!
Alles Gute und Grüsse
Patrick
;
Anzeige
Anzeige

Infobox / Tutorial

Prüfen, ob ganze Zeilen in Excel markiert sind


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob eine oder mehrere ganze Zeilen in Excel markiert sind, kannst du den folgenden VBA-Code verwenden. Dieser Code wird in das Arbeitsblatt eingefügt:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = Target.EntireRow.Address Then _
    MsgBox "Es sind " & Target.Rows.Count & " Zeilen selektiert", , Target.Address
End Sub
  1. Öffne dein Excel-Dokument.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Doppelklicke auf das Arbeitsblatt, in dem du den Code einfügen möchtest.
  4. Kopiere den obigen Code in das Codefenster.
  5. Schließe den VBA-Editor und kehre zu Excel zurück.
  6. Markiere eine oder mehrere ganze Zeilen, um die Funktion zu testen.

Häufige Fehler und Lösungen

  • Fehler: Der Code funktioniert nicht.

    • Lösung: Stelle sicher, dass du den Code im richtigen Arbeitsblattmodul eingefügt hast.
  • Fehler: Die Meldung erscheint nicht.

    • Lösung: Überprüfe, ob du tatsächlich ganze Zeilen und nicht nur einzelne Zellen markiert hast.

Alternative Methoden

Falls du eine Funktion benötigst, die in einem Modul gespeichert werden kann und ohne das SelectionChange-Ereignis funktioniert, kannst du den folgenden Code verwenden:

Public Function SelRowCount() As Long
    If TypeName(Selection) = "Range" Then
        SelRowCount = (Selection.Address = Selection.EntireRow.Address) * -Selection.Rows.Count
    End If
End Function
  1. Öffne den VBA-Editor mit ALT + F11.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den obigen Code in das Modul.
  4. Du kannst dann die Funktion SelRowCount in deinen anderen Makros verwenden.

Praktische Beispiele

Hier sind einige Beispiele, wie du die oben genannten Funktionen nutzen kannst:

  • Beispiel 1: Wenn du eine Bedingung für ein anderes Makro erstellen möchtest:
If SelRowCount() > 0 Then
    Call MakroX
Else
    MsgBox "Keine ganzen Zeilen markiert."
End If
  • Beispiel 2: Verwende die Funktion in einer Zelle:
=SelRowCount()

Dies zeigt die Anzahl der markierten Zeilen in der Zelle an.


Tipps für Profis

  • Verwende Named Ranges: Um die Lesbarkeit deines Codes zu verbessern, kannst du benannte Bereiche verwenden.
  • Automatisierung: Kombiniere diese Funktionen mit anderen VBA-Funktionen, um komplexe Automatisierungen in Excel zu erstellen.
  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinen Makros, um Abstürze zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um nur eine bestimmte Zeile zu zählen?
Du kannst die Bedingung im Code anpassen, um spezifische Zeilen zu zählen, indem du die Zeilenadresse definierst.

2. Funktioniert dieser Code in Excel 365?
Ja, der Code funktioniert in allen modernen Excel-Versionen, einschließlich Excel 365.

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