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

Forumthread: Auswahl um zwei Zeilen nach unten erweitern

Auswahl um zwei Zeilen nach unten erweitern
21.01.2020 15:27:57
Tobias
Hallo,
ich möchte eine im Makro dynamisch/inhaltsabhäng getroffene Auswahl nach unten um 2 Zellen bzw. Zeilen erweitern (je nachdem an welcher Stelle, ginge beides). So banal das scheint, ich hab's nicht über Googlen gefunden ...
Die gewünschte Auswahl muss beginnend von der Zelle B3 nach unten (also je nachdem wieviele Zeilen in dieser Spale befüllt sind) getroffen werden und am Ende aber von Zelle A1 bis nach unten (die letzte in der Spalte B befüllte Zeile) und bis Spalte Q gehen.
Ich wollte mich schrittweise vortasten:
'Inhalte von B3 ab nach unten auswählen
Range(Range("B3"), Range("B3").End(xlDown)).Select
'
'Auswahl eine Spalte nach links und zwei Reihen nach oben verschieben
Selection.Offset(-2, -1).Select
'
'Auswahl auf 17 Spalten A-Q erweitern
Selection.Resize(, 17).Select
und beim letzen Punkt steh ich auf dem Schlauch:
' Auswahl um zwei Zeilen nach unten erweitern (also eine Art additives Resize ...)
Hat jemand eine Idee?
Danke,
Tobias
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Auswahl um zwei Zeilen nach unten erweitern
21.01.2020 15:42:28
Rudi
Hallo,
Sub test()
Dim lLast As Long
lLast = Cells(Rows.Count, 2).End(xlUp).Row + 2
Cells(1, 1).Resize(lLast, 17).Select
End Sub

Aber wozu die Selecterei? Geht auch ohne.
Gruß
Rudi
AW: Auswahl um zwei Zeilen nach unten erweitern
21.01.2020 15:53:15
Tobias
Hallo Rudi,
danke für die Hilfe! Bei Deiner Lösung werden aber 4 Zeilen addiert, wenn ich das am Ende der dritten Zeile leicht abändere, passt es (ohne zu verstehen, warum):
Dim lLast As Long
lLast = Cells(Rows.Count, 2).End(xlUp).Row + 0
Cells(1, 1).Resize(lLast, 17).Select
Das das mit Selection Bäh ist, habe ich schon oft gehört, bin aber noch zu unbedarft in VBA, um zu verstehen, warum oder darauf verzichten zu können – hauptsache, es funktioniert!
Schöne Grüße,
Tobias
Anzeige
AW: Auswahl um zwei Zeilen nach unten erweitern
21.01.2020 16:07:15
Tobias
.. sorry, wenn ich das am Ende der ZWEITEN Zeile leicht abändere:
lLast = Cells(Rows.Count, 2).End(xlUp).Row + 2
;

Forumthreads zu verwandten Themen

Anzeige
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

Auswahl um zwei Zeilen nach unten erweitern


Schritt-für-Schritt-Anleitung

Um eine Auswahl in Excel mithilfe von VBA um zwei Zeilen nach unten zu erweitern, folge dieser Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Erstelle ein neues Modul: Rechtsklicke im Projektfenster auf VBAProject (DeineDatei.xlsm) und wähle Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub AuswahlErweitern()
       Dim lLast As Long
       lLast = Cells(Rows.Count, 2).End(xlUp).Row + 2
       Cells(1, 1).Resize(lLast, 17).Select
    End Sub
  4. Starte das Makro: Drücke F5, während der Cursor im Code steht, oder schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.

Diese Schritte ermöglichen es dir, eine Auswahl in der Excel-Tabelle nach unten zu erweitern und dabei die Zellen in der Spalte A bis Q zu berücksichtigen.


Häufige Fehler und Lösungen

  • Fehler: Auswahl umfasst zu viele Zeilen

    • Lösung: Stelle sicher, dass du das + 2 am Ende der Zeilenberechnung anpasst, um die richtige Anzahl an zusätzlichen Zeilen zu erhalten.
  • Fehler: Das Makro funktioniert nicht

    • Lösung: Überprüfe, ob du das Makro in einer .xlsm-Datei speicherst, da Makros in anderen Dateiformaten möglicherweise nicht funktionieren.

Alternative Methoden

Falls du keine VBA-Skripte verwenden möchtest, kannst du auch die Excel-Funktionen nutzen, um deine Tabelle zu erweitern:

  1. Manuelles Markieren: Du kannst die Zellen einfach mit der Maus markieren und mit Shift + Pfeiltaste um zwei Zeilen nach unten erweitern.
  2. Tabelle erstellen: Wandle deinen Bereich in eine Tabelle (STRG + T), um die Auswahl automatisch zu erweitern, wenn neue Daten hinzugefügt werden.

Praktische Beispiele

Ein Beispiel zur Verwendung des Makros:

Sub Beispiel()
    Dim lLast As Long
    ' Ermittle die letzte befüllte Zeile in Spalte B
    lLast = Cells(Rows.Count, 2).End(xlUp).Row + 2
    ' Wähle den Bereich von A1 bis Spalte Q, bis zur letzten befüllten Zeile
    Cells(1, 1).Resize(lLast, 17).Select
End Sub

Dieses Skript ist nützlich, wenn du regelmäßig Daten in deiner Excel-Tabelle eingibst und die Auswahl dynamisch anpassen möchtest.


Tipps für Profis

  • Vermeide die Verwendung von .Select: Es ist effizienter, direkt mit Objekten zu arbeiten, ohne sie vorher auszuwählen. Statt Selection.Resize kannst du beispielsweise direkt Range("A1").Resize(lLast, 17) verwenden.
  • Nutze With-Anweisungen: Dies verbessert die Lesbarkeit und Effizienz deines Codes. Beispiel:

    With Cells(1, 1).Resize(lLast, 17)
       .Interior.Color = RGB(255, 255, 0) ' Zelle gelb einfärben
    End With

FAQ: Häufige Fragen

1. Wie kann ich die Auswahl um mehr als zwei Zeilen erweitern?
Du kannst den Wert in lLast = Cells(Rows.Count, 2).End(xlUp).Row + 2 anpassen, um mehr Zeilen hinzuzufügen.

2. Funktioniert dieses Makro auch in älteren Excel-Versionen?
Ja, das Makro sollte in Excel-Versionen ab Excel 2007 problemlos funktionieren.

3. Wie kann ich die Auswahl nach links erweitern?
Ähnlich wie bei der Auswahl nach unten kannst du die Resize-Methode verwenden, um die Anzahl der Spalten zu ändern. Beispiel: Cells(1, 1).Resize(lLast, 10).Select für 10 Spalten.

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