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

Forumthread: Zellen mit Schleife füllen

Zellen mit Schleife füllen
03.11.2005 09:44:36
harald
Hallo,
ich möchte mit VBA in einer Tabelle die Zellen C6 - S45 über eine Schleife mit Formeln füllen.
Leider weiss ich aber nicht, wie ich in einer solchen Schleife die einzelnen Zellen ansprechen soll. Mit dem Recorder habe ich es versucht, aber der liefert mir:
Range("C6").Select
ActiveCell.FormulaR1C1 = "=RC[3]+ROW()/100000000"
Damit komme ich aber nicht weiter, da ja in meiner inneren Schleife die Spalte von C bis S und in der äusseren Schleife die Zeile von 6 bis 45 erhöht werden muss. Ausserdem steht die Zelle bei Range in Gänsefüssen.
Wer kann mir helfen?
mfg
harald
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit Schleife füllen
03.11.2005 09:55:15
Harald
Moin Harald,
versuchs mal über autofill.
Hier ein angepaßtes Beispiel aus der Excel-Hilfe
Set SourceRange = Range("C6")
Set fillRange = Range("C6:S6")
SourceRange.AutoFill Destination:=fillRange
Das Ganze dann noch nach unten ét vóila
Gruß
Harald
AW: Zellen mit Schleife füllen
03.11.2005 10:16:52
harald
Hallo Harald,
vielen Dank für deinen Tip, aber ich weiss nicht, ob mir das weiterhilft, da ich kaum VBA-Kenntnisse habe. Ich werde es mir heute abend mal in Ruhe ansehen. aber ich lasse die Frage noch offen, damit evtl. jemand eine Variante mit Schleifen angeben kann. Bei deiner Version weiss ich leider noch nicht genau, wie ich Daten von anderen Tabellenblättern in bestimmte Zellen einfügen kann, was ich in der Schleife dann auch mit einbauen kann.
mfg
harald
Anzeige
AW: Zellen mit Schleife füllen
03.11.2005 10:51:34
ede
hallo harald,
versuchs mal mit diesem code. natürlich solltest du noch die formel anpassen!!

Sub formeln_füllen()
For Zeile = 6 To 45
For spalte = 3 To 19
Cells(Zeile, spalte).FormulaR1C1 = "=" & Zeile & "*" & spalte
Next spalte
Next Zeile
End Sub

rückmeldung wäre super
gruss
Anzeige
AW: Zellen mit Schleife füllen
03.11.2005 11:00:01
harald
Hallo ede,
vielen Dank für deinen Tip. Ich denke mal, dass das genau das richtige ist! Ich werde es heute abend ausprobieren - falls es mit deiner Version nicht klappen sollte, drehe ich Zeile und Spalte mal um, da ja in der Range-Anweisung auch zuerst die Spalte und dann die Zeile kommt.
mfg
harald
Anzeige
AW: Zellen mit Schleife füllen
03.11.2005 13:19:00
harald
Hallo Ede,
dein Code hat funktioniert - auch war es richtig, dass (im Gegensatz zu Range) zuerst die Zeile und dann die Spalte angegeben werden musste. Bei mir kam nur immer eine Fehlermeldung - ich weiss nicht, ob es daran lag, dass ich deine Formel in eine with-Anweisung schrieb:
with worksheet("Tabelle")
.Cells(Zeile, spalte).FormulaR1C1 = "=" & Zeile & "*" & spalte
Nachdem ich .FormulaR1C1 gegen .Value ausgetauscht hatte kam die Fehlermeldung nicht mehr.
Nochmals vielen Dank.
mfg
harald
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen mit Schleife füllen in Excel VBA


Schritt-für-Schritt-Anleitung

Um Zellen in Excel mit einer Schleife zu füllen, kannst du den folgenden VBA-Code verwenden. Dieser Code füllt die Zellen von C6 bis S45 mit einer Formel, die du nach Bedarf anpassen kannst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Sub formeln_füllen()
    For Zeile = 6 To 45
        For spalte = 3 To 19 ' C bis S
            Cells(Zeile, spalte).FormulaR1C1 = "=" & Zeile & "*" & spalte
        Next spalte
    Next Zeile
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle formeln_füllen aus und klicke auf Ausführen.

Dieser Code verwendet eine Schleife, um jede Zelle im angegebenen Bereich zu füllen. Du kannst die Formel nach deinen Anforderungen anpassen, um spezifische Berechnungen durchzuführen.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Lösung: Überprüfe, ob du die richtige Syntax verwendest. Stelle sicher, dass die Formeln in der Schleife korrekt sind.
  • Fehler bei der Verwendung von .Value anstelle von .FormulaR1C1

    • Lösung: Wenn du mit .Value arbeitest, wird der Wert der Zelle gespeichert, nicht die Formel. Verwende .FormulaR1C1, um eine Formel zu setzen.

Alternative Methoden

Wenn du keine VBA-Kenntnisse hast, kannst du auch die AutoFill-Funktion in Excel nutzen, um Zellen schnell zu füllen:

  1. Wähle die Zelle C6 aus und gib die Formel ein.
  2. Ziehe das Ausfüllkästchen in der Ecke der Zelle nach rechts bis S6.
  3. Markiere dann den Bereich C6:S6 und ziehe das Ausfüllkästchen nach unten bis zur Zeile 45.

Diese Methode ist einfacher, erfordert jedoch manuelle Eingriffe, während die VBA-Methode automatisiert ist.


Praktische Beispiele

Hier ist ein Beispiel für eine Formel, die die Zeilennummer mit einer Konstante multipliziert:

Cells(Zeile, spalte).FormulaR1C1 = "=" & Zeile & "*10"

In diesem Beispiel wird jede Zelle in der Schleife mit dem Wert der Zeilennummer multipliziert. Du kannst die Formel anpassen, um Daten aus anderen Tabellenblättern zu beziehen oder komplexere Berechnungen durchzuführen.


Tipps für Profis

  • Nutze die With-Anweisung, um den Code effizienter zu gestalten:
With Worksheets("Tabelle")
    For Zeile = 6 To 45
        For spalte = 3 To 19
            .Cells(Zeile, spalte).FormulaR1C1 = "=" & Zeile & "*" & spalte
        Next spalte
    Next Zeile
End With
  • Überprüfe deine Formeln immer, indem du sie in einer kleinen Testreihe ausprobierst, bevor du sie auf große Datenmengen anwendest.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter gleichzeitig füllen?
Du kannst eine Schleife über die Arbeitsblätter einfügen und den Code entsprechend anpassen, um die Zellen in jedem Blatt zu füllen.

2. Was ist der Unterschied zwischen .Value und .FormulaR1C1?
.Value speichert den tatsächlichen Wert in der Zelle, während .FormulaR1C1 die Formel selbst speichert, die dann dynamisch berechnet wird, wenn sich die Daten ändern.

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