Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Markierte Zeilen per VBA auslesen

Markierte Zeilen per VBA auslesen
14.07.2015 12:40:23
r2d2
Hallo,
wie kann ich per VBA die aktuell markierten Zeilen auslesen?
Wenn ich also z.B. den Bereich B2:B10 markiert habe, möchte
ich die "2" und die "10" auslesen, um damit weiterarbeiten zu können:
Wenn ich z.B. B3:B5 markiert habe, soll auch D3:D5 markiert werden,
damit ich hinterher die Zellen B3:B5 und D3:D5 verbinden kann.
Danke.

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Markierte Zeilen per VBA auslesen
14.07.2015 12:54:53
Daniel
HI
wenn du nur einen Zellbereich markiert hast (keine STRG-Taste!)
die 2 mit: Selection.Row
die 10 mit: Selection(Selection.Cells.Count).Row
Gruß Daniel

AW: Markierte Zeilen per VBA auslesen
14.07.2015 13:01:55
r2d2
Super, danke.

AW: noch ne Methode
14.07.2015 13:37:10
Daniel
wenn du B2:B10 markierst hast und du brauchst D2:D10 geht auch:
Selection.Offset(0, 2)
oder
intersect(Selection.EntireRow, Columns(4))
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

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

Markierte Zeilen per VBA auslesen


Schritt-für-Schritt-Anleitung

Um die aktuell markierten Zeilen per VBA auszulesen, kannst du folgende Schritte befolgen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (deine Datei)“ > Einfügen > Modul.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub MarkierteZeilenAuslesen()
       Dim StartZeile As Long
       Dim EndZeile As Long
    
       ' Startzeile ermitteln
       StartZeile = Selection.Row
    
       ' Endzeile ermitteln
       EndZeile = Selection(Selection.Cells.Count).Row
    
       MsgBox "Startzeile: " & StartZeile & vbNewLine & "Endzeile: " & EndZeile
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Markiere den gewünschten Zellbereich.

  6. Drücke ALT + F8, wähle „MarkierteZeilenAuslesen“ aus und klicke auf „Ausführen“.

Du solltest nun die Start- und Endzeile der markierten Zellen in einer Meldung sehen.


Häufige Fehler und Lösungen

  • Fehler: „Das Makro konnte nicht gefunden werden.“

    • Lösung: Stelle sicher, dass du das Makro in einem Modul und nicht in einem Arbeitsblatt oder einer anderen Komponente gespeichert hast.
  • Fehler: „Die Auswahl enthält keine Zellen.“

    • Lösung: Achte darauf, dass du tatsächlich Zellen markiert hast, bevor du das Makro ausführst.

Alternative Methoden

Neben der oben genannten Methode gibt es auch alternative Ansätze, um den markierten Bereich zu ermitteln:

  1. Verwendung von Offset:

    Wenn du zum Beispiel Zellen in Spalte B markiert hast, kannst du den entsprechenden Bereich in Spalte D so ermitteln:

    Sub OffsetBeispiel()
       Dim Bereich As Range
       Set Bereich = Selection.Offset(0, 2) ' Verschiebt den Bereich um 2 Spalten nach rechts
       Bereich.Select
    End Sub
  2. Verwendung von Intersect:

    Um nur die markierten Zeilen in einer bestimmten Spalte zu ermitteln, kannst du Intersect verwenden:

    Sub IntersectBeispiel()
       Dim Bereich As Range
       Set Bereich = Intersect(Selection.EntireRow, Columns(4)) ' Spalte D
       Bereich.Select
    End Sub

Praktische Beispiele

Hier sind einige Beispiele, die dir zeigen, wie du die markierten Zeilen zählen und auslesen kannst:

  • Markierte Zellen zählen:

    Sub MarkierteZeilenZaehlen()
       MsgBox "Anzahl der markierten Zeilen: " & Selection.Rows.Count
    End Sub
  • Ausgewählte Zelle auslesen:

    Sub AusgewaehlteZelleAuslesen()
       MsgBox "Aktuelle Zelle: " & ActiveCell.Address
    End Sub

Tipps für Profis

  • Nutze die Selection-Eigenschaft, um direkt auf die markierten Zellen zuzugreifen und ihre Eigenschaften zu manipulieren.
  • Kombiniere die oben genannten Methoden, um komplexere Anforderungen zu erfüllen – beispielsweise das Auslesen mehrerer markierter Bereiche gleichzeitig.
  • Experimentiere mit der Debug.Print-Funktion, um Variablen und deren Werte während der Ausführung des Makros im Direktfenster anzuzeigen.

FAQ: Häufige Fragen

1. Wie kann ich nur die markierten Zeilen in einer bestimmten Spalte auslesen? Du kannst die Intersect-Methode verwenden, um nur die gewünschten Zeilen in einer bestimmten Spalte zu erfassen.

2. Welche Excel-Version benötige ich für diese VBA-Skripte? Die oben genannten VBA-Skripte funktionieren in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und später.

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