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

Forumthread: Ganze Spalte per VBA auswählen

Ganze Spalte per VBA auswählen
Heiner
Hallo,
per Makrorecorder kann ich mir das Auswählen der Spalten D,E,F,G,I (H fehlt!) aufzeichnen:
- Range("D:G,I:I").Select
Ich muss mir allerdings die Spaltenwerte D, G und I per VBA errechnen und das ganze über Variablen angehen. Dann kann ich aber nicht die obige Zeile verwenden.
Wie müsste die Zeile denn in VBA aussehen? (D = Variable aa, G = ab, I = ac)
Vielen Dank für die Hilfe!!
Gruß
Heiner
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ganze Spalte per VBA auswählen
Andre
So ungefähr:

Sub test()
aa = "D"
ab = "G"
ac = "I"
Sheets("Tabelle1").Range(aa & ":" & ab & "," & ac & ":" & ac).Select
End Sub

Gruß Andre
meine es leicht anders
Heiner
Hallo Andre,
danke für den Tipp.
Mein Problem ist, dass ich die Spaltenermittlung so mache, dass dabei nicht Buchstaben herauskommen, sondern Zahlen (Spalte A ist demnach nicht A, sondern 1).
Jetzt kann ich natürlich eine Mappingtabelle machen, aber darauf würde ich gerne verzichen, das geht sicher auch anders.
Für einzelne Bereiche kann ich das schon:
Union(Range(Cells(1, aa), Cells(10, ab)), Range(Cells(1, ac), _
Cells(10, ac))).Select
(wäre jetzt aa=4[somit Spalte D] ab=7[G], ac=9[I])
entspricht: Range("D1:G10,I1:I10").Select
Als Range möchte ich aber auch nicht die Werte 1 und 65xxx verwenden.
Gruß
Mark
Anzeige
Sorry, aber was genau hast du jetzt vor? o.T.
Andre
AW: meine es leicht anders
Alf
Probier das:
Union(Range(Columns(1), Columns(3)), Columns(5)).Select
Statt den Ziffern setzt Du Deine Variablen ein. Paßt's?
Ciao
Alf
Danke Alf, das war es was ich brauchte!! oT
Heiner
Merci, merci
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ganze Spalte per VBA auswählen


Schritt-für-Schritt-Anleitung

Um eine ganze Spalte in Excel per VBA auszuwählen, kannst du die Range-Objekte verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklicke auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  3. Schreibe deinen Code: Füge den folgenden Code ein, um die Spalten D, G, und I auszuwählen:

    Sub AuswahlGanzeSpalte()
       Dim aa As String, ab As String, ac As String
       aa = "D"
       ab = "G"
       ac = "I"
       Sheets("Tabelle1").Range(aa & ":" & ab & "," & ac & ":" & ac).Select
    End Sub
  4. Führe das Makro aus: Kehre zu Excel zurück, drücke ALT + F8, wähle AuswahlGanzeSpalte und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Subscript out of range"
    Lösung: Stelle sicher, dass der Tabellenname korrekt ist. In diesem Beispiel muss "Tabelle1" existieren.

  • Fehler: "Method 'Range' of object '_Worksheet' failed"
    Lösung: Überprüfe, ob die Variablen aa, ab, und ac korrekt definiert sind.

  • Fehler: Keine Auswahl
    Lösung: Vergewissere dich, dass das Makro in der aktiven Arbeitsmappe ausgeführt wird.


Alternative Methoden

Eine andere Möglichkeit, eine ganze Spalte auszuwählen, besteht darin, die Columns-Methode zu nutzen:

Sub AuswahlSpaltenMitColumns()
    Sheets("Tabelle1").Columns("D:G,I").Select
End Sub

Wenn du die Spalten über Variablen ansteuern möchtest, kannst du Columns wie folgt nutzen:

Sub AuswahlMitVariablen()
    Dim aa As Integer, ab As Integer, ac As Integer
    aa = 4 ' D
    ab = 7 ' G
    ac = 9 ' I
    Sheets("Tabelle1").Range(Columns(aa), Columns(ab)).Select
    Union(Columns(ac)).Select
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du eine ganze Spalte in Excel auswählen kannst:

  1. Auswahl mehrerer Spalten:

    Sub MehrereSpaltenAuswählen()
       Sheets("Tabelle1").Range("A:C, E").Select
    End Sub
  2. Markierung über eine Schleife:

    Sub SpaltenMarkieren()
       Dim i As Integer
       For i = 1 To 3
           Sheets("Tabelle1").Columns(i).Select
       Next i
    End Sub

Tipps für Profis

  • Verwende With-Anweisungen: Um den Code lesbarer und effizienter zu gestalten, kannst du With-Anweisungen verwenden, um wiederholte Objektverweise zu vermeiden.

  • Nutze Cells für dynamische Spalten: Wenn du mit Zahlen arbeitest, ist Cells nützlich, um flexibel auf Zeilen und Spalten zuzugreifen.

  • Vermeide Select: Wo möglich, vermeide die Verwendung von .Select, um die Ausführungsgeschwindigkeit zu erhöhen. Du kannst direkt auf die Range zugreifen und Operationen durchführen.


FAQ: Häufige Fragen

1. Wie wähle ich eine ganze Spalte aus, ohne VBA zu verwenden?
Du kannst die Spalte direkt in Excel auswählen, indem du auf den Spaltenbuchstaben klickst.

2. Was ist der Unterschied zwischen Range und Cells in VBA?
Range verwendet Buchstaben für die Adressierung, während Cells numerische Indizes für Zeilen und Spalten verwendet.

3. Kann ich mehrere nicht zusammenhängende Spalten auswählen?
Ja, du kannst mehrere Spalten durch Kommas getrennt in der Range-Methode angeben, z. B. Range("A:C, E:G").

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