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

Forumthread: Spalte eines Ranges durchlaufen

Spalte eines Ranges durchlaufen
21.04.2017 22:45:51
Barbaraa
Hallo
Ich will einzelne Zellen durchlaufen und um 1 erhöhen.
Gegeben ist ein benannter Bereich namens "Bereich"
Sub Makro1()
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Range("B6:E10")
ActiveWorkbook.Names.Add Name:="Bereich", RefersTo:=Bereich
'Jetzt geht's los
For Each Zelle In Bereich
Zelle.Value = Zelle.Value + 1
Next Zelle
End Sub

Nun will ich aber nur jede Zelle in der zweiten Spalte durchlaufen.
Oder: Jede Zelle in der Spalte direkt rechts neben dem Bereich.
Bitte um hilfreiche Tipps.
LG, Barbara
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Spalte eines Ranges durchlaufen
21.04.2017 23:03:34
Matthias
Hallo
Hier mal für Spalte(3) also Spalte("C")
    'Jetzt geht's los
For Each Zelle In Bereich
If Zelle.Column = 3 Then Zelle.Value = Zelle.Value + 1
Next Zelle
Gruß Matthias
AW: Spalte eines Ranges durchlaufen
21.04.2017 23:06:06
Sepp
Hallo Barbara,
'nur zweite Spalte
For Each Zelle In Bereich.Columns(2).Cells
  Zelle.Value = Zelle.Value + 1
Next Zelle

'rechte Nachbar-Spalte
For Each Zelle In Bereich.Columns(Bereich.Columns.Count).Offset(0, 1).Cells
  Zelle.Value = Zelle.Value + 1
Next Zelle

Gruß Sepp

Anzeige
;

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

Spalte eines Ranges durchlaufen in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA durch eine bestimmte Spalte eines benannten Bereichs zu iterieren, kannst du folgende Schritte befolgen:

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

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf VBAProject (deineDatei.xlsx) und wähle Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub Makro1()
       Dim Zelle As Range
       Dim Bereich As Range
       Set Bereich = Range("B6:E10")
       ActiveWorkbook.Names.Add Name:="Bereich", RefersTo:=Bereich
    
       ' Iteriere nur durch die zweite Spalte
       For Each Zelle In Bereich.Columns(2).Cells
           Zelle.Value = Zelle.Value + 1
       Next Zelle
    End Sub
  4. Führe das Makro aus: Klicke im VBA-Editor auf F5 oder gehe zurück zu Excel und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

  • Lösung: Stelle sicher, dass der benannte Bereich korrekt definiert ist und dass du die Zellen in der richtigen Tabelle ansprichst.

Fehler: "Typen unverträglich"

  • Lösung: Überprüfe, ob die Werte in den Zellen numerisch sind, wenn du eine mathematische Operation durchführst.

Alternative Methoden

Wenn du die Zellen in der Spalte direkt rechts vom benannten Bereich ansprechen möchtest, kannst du den folgenden Code verwenden:

For Each Zelle In Bereich.Columns(Bereich.Columns.Count).Offset(0, 1).Cells
    Zelle.Value = Zelle.Value + 1
Next Zelle

Diese Methode nutzt die Offset-Funktion, um die Zellen in der rechten Nachbarspalte zu erreichen.


Praktische Beispiele

  1. Erhöhung der Werte in der zweiten Spalte:

    For Each Zelle In Bereich.Columns(2).Cells
       If IsNumeric(Zelle.Value) Then
           Zelle.Value = Zelle.Value + 1
       End If
    Next Zelle
  2. Erhöhung der Werte in der rechten Nachbarspalte:

    For Each Zelle In Bereich.Columns(Bereich.Columns.Count).Offset(0, 1).Cells
       If IsNumeric(Zelle.Value) Then
           Zelle.Value = Zelle.Value + 1
       End If
    Next Zelle

Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Experimentiere mit der Debug.Print-Anweisung, um den Wert von Variablen während der Ausführung zu überprüfen.
  • Achte darauf, die Daten in deinem benannten Bereich zu validieren, bevor du Änderungen vornimmst.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Spalten gleichzeitig durchlaufen?
Du kannst innerhalb der Schleife einen weiteren If-Befehl verwenden, um die Spalten zu überprüfen und entsprechend zu iterieren.

2. Kann ich die Werte in der zweiten Spalte nur erhöhen, wenn sie bestimmten Kriterien entsprechen?
Ja, du kannst Bedingungen mit If-Anweisungen einfügen, um die Werte nur unter bestimmten Voraussetzungen zu erhöhen.

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