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

Zellen in einer for-schleife um eins erhöhen

Forumthread: Zellen in einer for-schleife um eins erhöhen

Zellen in einer for-schleife um eins erhöhen
24.04.2003 15:18:13
Christian
Hallo,

bin Anfänger und habe folgendes Problem: In einer Tabelle stehen in einer Spalte, z.B. A1 bis A20 verschiedene Daten und die möchte ich jetzt durch eine case-Anweisung mit einem Wert vergleichen. Wie schaffe ich es, die Zellennummer um eins zu erhöhen in der for-case Anweisung. Hier ist meine funktionierende case - Anweisung:
Select Case Range("B112").Value

' Eins
Case Is = Range("A1")
Range("D112:H112").Select
Selection.Copy
Range("C1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Wie schaffe ich es also, den Range-Wert A1(C1) auf A2-A20 (C2-C20)zu erhöhen?

Bisher schreibe ich mehrere Case-Anweisungen. Bei 50 Werten ist eine Schleife wohl besser.

Danke im Voraus,

Christian




Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Zellen in einer for-schleife um eins erhöhen
24.04.2003 15:34:36
joerg

Hallo Christian,
Du kannst auf eine Zelle(oder Bereich) auch mit
Cells(1,1) = Range("A1")
zeigen. Also:

Hier werden alle Werte aus Der Spalte "C" in Spalte "A" übertragen; i steht für Zeile.

For i = 1 to 20
Cells(i,1).Value = Cells(i,3).Value
Next i

Re: Zellen in einer for-schleife um eins erhöhen
24.04.2003 15:34:47
joerg

Hallo Christian,
Du kannst auf eine Zelle(oder Bereich) auch mit
Cells(1,1) = Range("A1")
zeigen. Also:

Hier werden alle Werte aus Der Spalte "C" in Spalte "A" übertragen; i steht für Zeile.

For i = 1 to 20
Cells(i,1).Value = Cells(i,3).Value
Next i

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

Infobox / Tutorial

Zellen in einer for-Schleife um eins erhöhen


Schritt-für-Schritt-Anleitung

Um Zellen in einer for-Schleife um eins zu erhöhen und deren Werte zu übertragen, kannst du die folgende Vorgehensweise nutzen:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem du im Menü auf Einfügen > Modul klickst.
  3. Kopiere den folgenden Code in das Modul:
Sub WerteUebertragen()
    Dim i As Integer
    For i = 1 To 20
        Cells(i, 1).Value = Cells(i, 3).Value
    Next i
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem du ALT + F8 drückst und WerteUebertragen auswählst.

Jetzt werden die Werte von Spalte C in die entsprechenden Zellen von Spalte A übertragen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des zulässigen Bereichs"

    • Lösung: Stelle sicher, dass du auf einen gültigen Zellbereich zugreifst. Überprüfe, ob die Spalten C und A auch tatsächlich Daten enthalten.
  • Fehler: "Objekt erforderlich"

    • Lösung: Vergewissere dich, dass du den Code in einem Modul und nicht in einem Arbeitsblatt oder einer Benutzerform eingefügt hast.

Alternative Methoden

Eine einfache Alternative zur Verwendung von Cells ist die Verwendung von Range. Du kannst den Code auch wie folgt anpassen:

Sub WerteUebertragenMitRange()
    Dim i As Integer
    For i = 1 To 20
        Range("A" & i).Value = Range("C" & i).Value
    Next i
End Sub

Diese Methode ist besonders nützlich, wenn du mit großen Datenmengen arbeitest und die Lesbarkeit deines Codes erhöhen möchtest.


Praktische Beispiele

Hier ist ein Beispiel für die Anwendung der for-Schleife in einer realen Situation:

Angenommen, du hast in Spalte C die Verkaufszahlen für 20 Produkte und möchtest diese in Spalte A kopieren, um eine Übersicht zu erstellen. Mit dem oben genannten Code kannst du schnell die Werte übertragen.


Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen, um den Code robuster zu machen. Füge On Error Resume Next am Anfang deiner Subroutine ein, um Laufzeitfehler elegant zu handhaben.
  • Experimentiere mit anderen Schleifen wie For Each, wenn du mit Bereichen oder Sammlungen arbeitest.
  • Probiere, deine Makros regelmäßig zu kommentieren, damit du und andere sie später besser verstehen können.

FAQ: Häufige Fragen

1. Wie kann ich die Schleife anpassen, um mehr als 20 Zellen zu bearbeiten? Du kannst die Schleife einfach verlängern, indem du die Zahl in For i = 1 To 20 anpasst.

2. Kann ich diese Methode auch in Excel Online verwenden? Leider ist die Verwendung von VBA in Excel Online nicht möglich. Du kannst jedoch ähnliche Funktionalitäten mit Excel-Formeln erreichen.

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