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

Forumthread: Range: Spalten A,B,C... mit 1,2,3 ansprechen

Range: Spalten A,B,C... mit 1,2,3 ansprechen
26.07.2006 07:36:17
Marcel
Moin,
ich erstelle ein Range:
Range("A1").Select
jedoch möchte ich die SPalte A nicht mit "A" ansprechen, sondern mit einer Zahl wegen hochzählen...
hab mir mal was zusammengebastelt, so wie ich mir das vorgestellt habe und es funzt natürlich net :D
i=1
Range(Columns(i) & "1").Select
wo ist der fehler?
gruß & thx
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Range: Spalten A,B,C... mit 1,2,3 ansprechen
26.07.2006 07:40:56
Heiko
Hallo Marcel,
nimm nicht Range sondern Cells
also
Cells(1,1) wäre z.B. Range("A1")
oder
Cells(10,2) wäre z.B. Range("B10") usw...
Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Range: Spalten A,B,C... mit 1,2,3 ansprechen
26.07.2006 07:54:58
Marcel
danke! schon 100mal mit gearbeitet, aber meinste man kommt drauf...^^ :D
dankeschön
AW: Columns: Spalten A,B,C... mit 1,2,3 ansprechen
27.07.2006 07:56:11
Marcel
Moin,
jetzt habe ich ein ähnliches problem.
ich will komplette spalten nicht mit dem spalten buchstaben, sonder mit einer zahl ansprechen.
nicht:
Columns("B:D").Select
sondern (sinngemäß):
i=2
j=4
Columns(i:j).Select
wie geht das nun wieder? danke schon einmal im vorraus
Anzeige
AW: Columns: Spalten A,B,C... mit 1,2,3 ansprechen
27.07.2006 09:55:45
Heiko
Hallo Marcel,
z.b. so:
Range(Columns(2), Columns(6)).Select
Gruß Heiko
PS: Rückmeldung wäre nett !
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spalten in Excel mit Zahlen ansprechen


Schritt-für-Schritt-Anleitung

Um in Excel VBA eine Spalte mit einer Zahl statt mit einem Buchstaben anzusprechen, kannst du die Cells-Methode verwenden. Hier ist die grundlegende Syntax:

  1. Verwende Cells(row, column), um auf eine bestimmte Zelle zuzugreifen.
  2. Um eine ganze Spalte anzusprechen, benutze den Spaltenindex (Zahl) und die Methode Columns.

Beispiel:

Sub BeispielZugriff()
    Dim i As Integer
    i = 1 ' für Spalte A
    Cells(1, i).Select ' entspricht Range("A1")

    ' Ganze Spalte ansprechen
    Columns(i).Select ' entspricht Range("A:A")
End Sub

Häufige Fehler und Lösungen

  • Fehler: Range(Columns(i) & "1").Select funktioniert nicht.

    • Lösung: Verwende stattdessen Cells(1, i).Select. So sprichst du die Zelle korrekt an.
  • Fehler: Columns(i:j).Select gibt einen Fehler aus.

    • Lösung: Die korrekte Syntax ist Range(Columns(i), Columns(j)).Select, um die Spalten von i bis j auszuwählen.

Alternative Methoden

Eine weitere Möglichkeit, um eine ganze Spalte anzusprechen, ist die Verwendung der Range-Methode:

Sub GanzeSpaltenAuswählen()
    Dim startSpalte As Integer
    Dim endSpalte As Integer
    startSpalte = 2 ' B
    endSpalte = 4 ' D
    Range(Columns(startSpalte), Columns(endSpalte)).Select
End Sub

Mit dieser Methode kannst du mehrere aufeinanderfolgende Spalten effizient auswählen.


Praktische Beispiele

  1. Einzelne Zelle ansprechen:

    Sub EinzelneZelle()
       Dim i As Integer
       i = 3 ' C
       MsgBox Cells(1, i).Value ' Zeigt den Wert in Zelle C1 an
    End Sub
  2. Mehrere Spalten auswählen:

    Sub MehrereSpalten()
       Dim i As Integer
       Dim j As Integer
       i = 2 ' B
       j = 5 ' E
       Range(Columns(i), Columns(j)).Select ' Wählt die Spalten B bis E aus
    End Sub

Tipps für Profis

  • Nutze die Cells-Methode, um den Code flexibler zu gestalten. So kannst du dynamisch mit Variablen arbeiten.
  • Vermeide, wo möglich, die Verwendung von Range mit Buchstaben, um die Lesbarkeit und Wartbarkeit zu verbessern.
  • Wenn du mit großen Datenmengen arbeitest, ist es effizienter, ganze Spalten mit Columns zu selektieren, anstatt jede Zelle einzeln anzusprechen.

FAQ: Häufige Fragen

1. Wie spreche ich eine Spalte mit einer Zahl an?
Verwende die Cells-Methode: Cells(1, 1) für A1 oder Cells(1, 2) für B1.

2. Kann ich mehrere Spalten auf einmal auswählen?
Ja, benutze Range(Columns(i), Columns(j)).Select, um mehrere Spalten von i bis j auszuwählen.

3. Was ist der Unterschied zwischen Range und Cells in VBA?
Range wird meist für benannte Bereiche oder Zellen verwendet, während Cells für den Zugriff auf Zellen über numerische Indizes gedacht ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige