Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

in Schleife bestimmte Spalten

Forumthread: in Schleife bestimmte Spalten

in Schleife bestimmte Spalten
26.11.2019 15:32:56
Tomatenaugen
Liebe Gemeinde,
gibt es eine Möglichkeit in einer Schleife nur bestimmte Werte zu durchlaufen? Also mein Code _ ist:

Sub Test()
For s = 17 To 108
For z = 14 To 15
If IsEmpty(Range(Cells(z, s), Cells(z, s)).Value) = True Then
Cells(z, s).Value = "Hallo"
End If
Next z
Next s
End Sub

Die Spaltensuche ist nun super groß und eigentlich möchte ich nur Spalte 17, 33, 48, 63 und 108 durchsuchen. Gibt es eine Einfache Variante um das zu schreiben?
Vielen Dank schonmal!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in Schleife bestimmte Spalten
26.11.2019 15:58:25
Rudi
Hallo,
Sub Test()
Dim s, z As Long
For Each s In Array(17, 33, 48, 63, 108)
For z = 14 To 15
If IsEmpty(Cells(z, s)) Then
Cells(z, s) = "Hallo"
End If
Next z
Next s
End Sub

AW: in Schleife bestimmte Spalten
26.11.2019 16:02:22
Tomatenaugen
Super, danke!
Anzeige
;
Anzeige

Infobox / Tutorial

Bestimmte Spalten in einer Schleife durchlaufen


Schritt-für-Schritt-Anleitung

Um in einer Schleife nur bestimmte Spalten in Excel VBA zu durchlaufen, kannst du die For Each-Schleife in Kombination mit einem Array verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Erstelle ein neues Modul (Rechtsklick auf „VBAProject“ > Einfügen > Modul).
  3. Füge den folgenden Code in das Modul ein:
Sub Test()
    Dim s As Long, z As Long
    For Each s In Array(17, 33, 48, 63, 108)
        For z = 14 To 15
            If IsEmpty(Cells(z, s)) Then
                Cells(z, s) = "Hallo"
            End If
        Next z
    Next s
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus. Du solltest sehen, dass in den angegebenen Spalten „Hallo“ eingefügt wird, wenn die Zellen leer sind.

Häufige Fehler und Lösungen

  • Fehler: „Typenkonflikt“ beim Ausführen des Codes.

    • Lösung: Stelle sicher, dass alle Variablen korrekt deklariert sind. Du kannst Dim s As Long, z As Long verwenden.
  • Fehler: Das Makro funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob du in den richtigen Zellen arbeitest und dass die Zellen, die du überprüfst, tatsächlich leer sind.

Alternative Methoden

Eine alternative Methode besteht darin, die Select Case-Anweisung anstelle eines Arrays zu verwenden. Hier ist ein Beispiel:

Sub Test()
    Dim s As Long, z As Long
    For z = 14 To 15
        For s = 17 To 108
            Select Case s
                Case 17, 33, 48, 63, 108
                    If IsEmpty(Cells(z, s)) Then
                        Cells(z, s) = "Hallo"
                    End If
            End Select
        Next s
    Next z
End Sub

Praktische Beispiele

Ein praktisches Beispiel könnte das Durchsuchen mehrerer Spalten in einem großen Datensatz sein. Angenommen, du hast eine Tabelle mit verschiedenen Daten und möchtest nur die genannten Spalten aktualisieren. Der oben gezeigte Code ist ideal für diese Aufgabe.

Wenn du die Schleife anpassen möchtest, um auch andere Bedingungen einzufügen, kannst du dies leicht tun. Zum Beispiel:

If IsEmpty(Cells(z, s)) And Cells(z, s - 1).Value = "Bedingung" Then
    Cells(z, s) = "Hallo"
End If

Tipps für Profis

  • Verwende die With-Anweisung: Dies kann den Code lesbarer machen. Beispiel:
With Cells(z, s)
    If IsEmpty(.Value) Then
        .Value = "Hallo"
    End If
End With
  • Debugging: Nutze Debug.Print um Werte während der Ausführung zu überprüfen.

FAQ: Häufige Fragen

1. Kann ich auch andere Datentypen als „Hallo“ einfügen? Ja, du kannst jeden Datentyp einfügen, z.B. Zahlen oder Formeln.

2. Was mache ich, wenn ich mehr als fünf Spalten durchlaufen möchte? Erweitere einfach das Array im Code mit weiteren Spaltennummern, die du durchlaufen möchtest.

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