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

Bereich Markieren mit VBA

Forumthread: Bereich Markieren mit VBA

Bereich Markieren mit VBA
12.06.2003 13:15:45
Petra Berns
Ich möchte per VBA einen Bereich markieren, in dem sich Werte befinden. Dieser Bereich kann unterschiedlich sein.
Gefüllt sind immer die Spalten F bis H, die Zeilenanzahl ist allerdings unterschiedlich.
Ich habe schon verschiedenes ausprobiert, bin aber zu keiner Lösung gekommen.


Es geht mir um die analoge Verfahrensweise wie Shift, Ende Pfeil rechts und Ende Pfeil herunter, mit der man einen Bereich markieren kann.

vielen Dank

Petra
danke

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
doppelt
12.06.2003 13:18:17
xxx



Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bereich Markieren mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um einen Bereich in Excel mit VBA zu markieren, kannst du den folgenden Code verwenden. Dieser Code markiert die Zellen in den Spalten F bis H, wobei die Zeilenanzahl automatisch ermittelt wird.

Sub BereichMarkieren()
    Dim ws As Worksheet
    Dim rng As Range
    Dim lastRow As Long

    Set ws = ThisWorkbook.Sheets("Tabelle1") ' Hier den Tabellennamen anpassen
    lastRow = ws.Cells(ws.Rows.Count, "F").End(xlUp).Row ' Letzte gefüllte Zeile in Spalte F ermitteln
    Set rng = ws.Range("F1:H" & lastRow) ' Bereich von F1 bis zur letzten Zeile in H
    rng.Select ' Bereich markieren
End Sub

Führe diesen Code im VBA-Editor aus. Du kannst den VBA-Editor öffnen, indem du ALT + F11 drückst, dann ein neues Modul erstellst und den Code dort einfügst.


Häufige Fehler und Lösungen

Fehler: Der Bereich wird nicht korrekt markiert.
Lösung: Stelle sicher, dass die richtige Tabelle angesprochen wird. Überprüfe den Tabellennamen in der Zeile Set ws = ThisWorkbook.Sheets("Tabelle1").

Fehler: Laufzeitfehler beim Ausführen des Codes.
Lösung: Überprüfe, ob in den Spalten F bis H tatsächlich Werte vorhanden sind. Wenn die Spalten leer sind, kann es zu einem Laufzeitfehler kommen.


Alternative Methoden

Eine alternative Methode, um einen Bereich in Excel VBA auszuwählen, ist die Verwendung der CurrentRegion-Eigenschaft. Diese Möglichkeit ist besonders nützlich, wenn der Bereich kontinuierlich ist.

Sub BereichMarkierenMitCurrentRegion()
    Dim ws As Worksheet
    Dim rng As Range

    Set ws = ThisWorkbook.Sheets("Tabelle1") ' Hier den Tabellennamen anpassen
    Set rng = ws.Range("F1").CurrentRegion ' Bereich um F1 markieren
    rng.Select ' Bereich markieren
End Sub

Praktische Beispiele

Hier sind einige Anwendungsbeispiele für das Markieren von Bereichen mit VBA:

  1. Markieren eines festen Bereichs: Wenn du einen festen Bereich in der Tabelle markieren möchtest, kannst du den folgenden Code verwenden:

    Sub FesterBereichMarkieren()
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Sheets("Tabelle1")
        ws.Range("F1:H10").Select ' Markiert den Bereich von F1 bis H10
    End Sub
  2. Markieren einer Zelle: Um eine bestimmte Zelle zu markieren, kannst du diesen Code verwenden:

    Sub ZelleMarkieren()
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Sheets("Tabelle1")
        ws.Range("F1").Select ' Markiert die Zelle F1
    End Sub

Tipps für Profis

  • Verwende die With-Anweisung, um den Code effizienter zu gestalten. Das reduziert die Anzahl der Verweise auf das Worksheet-Objekt.

    Sub BereichMarkierenMitWith()
        Dim ws As Worksheet
        Dim lastRow As Long
    
        Set ws = ThisWorkbook.Sheets("Tabelle1")
        lastRow = ws.Cells(ws.Rows.Count, "F").End(xlUp).Row
    
        With ws
            .Range("F1:H" & lastRow).Select
        End With
    End Sub
  • Setze Application.ScreenUpdating = False, bevor du den Bereich markierst, um Flackern zu vermeiden, und setze es danach wieder auf True.


FAQ: Häufige Fragen

1. Wie kann ich den markierten Bereich kopieren?
Du kannst den markierten Bereich mit Selection.Copy kopieren. Füge diesen Befehl nach rng.Select ein.

2. Ist es möglich, mehrere Bereiche gleichzeitig zu markieren?
Ja, du kannst mehrere Bereiche in einer Union-Anweisung kombinieren. Zum Beispiel:

Dim combinedRange As Range
Set combinedRange = Union(ws.Range("F1:F10"), ws.Range("H1:H10"))
combinedRange.Select

3. Wie kann ich die Markierung aufheben?
Um die Markierung aufzuheben, kannst du einfach auf eine andere Zelle klicken, z.B. ws.Range("A1").Select.

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