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

Forumthread: loop über Spalten

loop über Spalten
27.05.2015 19:34:47
Martin
ich möchte per VBA ein Formular (Tabelle1) mit Daten ausfüllen, die in Tabelle2 z.B. in Spalte C untereinander weg stehen. :
Sheets("Tabelle1").Range("A1).Value = Sheets("Tabelle2").Range("C10").Value
Sheets("Tabelle1").Range("A6).Value = Sheets("Tabelle2").Range("C12").Value
usw. (diverse Zuordnungen ohne System dahinter)
Im Anschluss soll nach einem Ausdruck ein Loop erneut das Formular durchlaufen und ausfüllen, nur dass diesmal die Daten in D statt C stehen. Danach E usw., theoretisch bis über Z hinaus.
Mein Problem ist, wie ich den Loop durch die Spalten laufen lasse.
For i = A to AA
und
...Sheets("Tabelle2").Range(i & "12").Value
wird ja sicher nicht gehen.

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: loop über Spalten
27.05.2015 19:45:05
Sepp
Hallo Martin,

For i = 3 To 27
Sheets("Tabelle1").Range("A1").Value = Sheets("Tabelle2").Cells(12, i).Value
Next
Gruß Sepp

Anzeige
AW: loop über Spalten
28.05.2015 14:03:14
Martin
ich danke Dir! Auf die Idee, dass die Spalten auch mit ihrem numerischen Wert angesprochen werden können, bin ich noch gar nicht gekommen.
Aber ich glaube, es müsste Cells(i, 12) lauten, oder?

AW: loop über Spalten
28.05.2015 14:07:26
Alexander
Hallo Martin,
Nein, das Beispiel von Sepp passt, denn bei Cells ist es so definiert.
Cells(Zeile, Spalte)
Gruß
Alex
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Daten mit einer Schleife in Excel VBA aus Spalten auslesen


Schritt-für-Schritt-Anleitung

Um mit VBA eine Schleife über Spalten in Excel zu erstellen, kannst du den folgenden Code verwenden. Dieser Code füllt ein Formular (Tabelle1) mit Daten aus einer anderen Tabelle (Tabelle2), indem er durch die Spalten läuft.

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)", wähle "Einfügen" und dann "Modul".

  3. Füge den folgenden Code ein:

    Sub DatenAusSpalten()
       Dim i As Integer
       For i = 3 To 27 ' Spalten C bis Z
           Sheets("Tabelle1").Cells(1, 1).Value = Sheets("Tabelle2").Cells(12, i).Value
       Next i
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Drücke ALT + F8, wähle DatenAusSpalten und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Problem: "Fehler beim Ausführen des Makros."

    • Lösung: Überprüfe, ob die Namen der Blätter ("Tabelle1" und "Tabelle2") korrekt sind. Stelle sicher, dass die Tabellen existieren.
  • Problem: "Die Zelle wird nicht aktualisiert."

    • Lösung: Achte darauf, dass die richtige Zeilen- und Spaltennummer in Cells(Zeile, Spalte) verwendet wird.

Alternative Methoden

Eine andere Methode, um über Spalten in Excel zu iterieren, besteht darin, die Range-Objekte zu verwenden. Hier ein Beispiel:

Sub DatenAusSpaltenMitRange()
    Dim Spalte As Range
    For Each Spalte In Sheets("Tabelle2").Range("C12:Z12").Columns
        Sheets("Tabelle1").Cells(1, 1).Value = Spalte.Value
    Next Spalte
End Sub

Diese Methode kann nützlich sein, wenn du mehr Kontrolle über die zu durchlaufenden Zellen benötigst.


Praktische Beispiele

Hier sind ein paar Szenarien, in denen du eine Excel VBA Schleife verwenden kannst:

  • Formular ausfüllen: Fülle ein Formular in "Tabelle1" mit Werten aus "Tabelle2", indem du verschiedene Spalten durchläufst.
  • Datenauswertung: Analysiere Daten in einer Tabelle und übertrage Ergebnisse in eine andere Tabelle.

Tipps für Profis

  • Verwende Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Nutze die Debug.Print-Funktion, um Werte während der Schleife zu überprüfen, falls etwas nicht funktioniert.

FAQ: Häufige Fragen

1. Kann ich auch andere Spalten verwenden?
Ja, du kannst den Bereich in der Schleife anpassen, um andere Spalten auszuwählen. Zum Beispiel, um von Spalte B bis F zu iterieren, ändere For i = 2 To 6.

2. Was ist der Unterschied zwischen Cells und Range?
Cells(Zeile, Spalte) verwendet numerische Indizes, während Range("A1") eine spezifische Zelle direkt adressiert. Beide Methoden haben ihre Vorteile, je nach Anwendungsfall.

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