Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel automatisch und dynamisch kopieren

Formel automatisch und dynamisch kopieren
18.07.2017 14:27:30
Stephanie
Hallo zusammen,
mein Name ist Stephanie und ich bin ganz neu hier, denn ich bin heute an meine Grenzen in Excel gestoßen.
Meine Excelkenntnisse würde ich wie folgt zusammen fassen:
Formeln und Funktionen, Tabellen und Grafiken bekomme ich gut hin und bin darin auch gut geübt. VBA-Programmierung kann ich leider (noch) überhaupt nicht. Im begrenzten Rahmen schaffe ich es aber Makros aufzuzeichnen. Das mache ich zum Beispiel um Tabellen zu sortieren und zu filtern, wenn sich gewisse Arbeitsschritte immer wieder 1:1 wiederholen.
Ich habe schon mehrere Stunden auf diversen Seiten im Internet nach Lösungen für mein Problem gesucht und bin dann auf dieser Seite hier auf nachfolgende Lösungen gestoßen, die meinem Problem sehr nahe kommt.
https://www.herber.de/forum/archiv/120to124/121135_Formel_dynamisch_kopieren.html#121135
Ich habe mich zwischenzeitlich sogar riesig gefreut, dass ich es geschafft habe den Code auf mein Problem anzupassen. Alledings hielt die Freude nicht lange an, denn dieses Makro kopiert bei mir nicht die Formeln aus der oberen Zeile in Abhängigkeit der Anzahl Zeilen in Spalte A dynamisch nach unten, sondern nur das Ergebnis :(
Ein stark vereinfachtes Beispiel meines Problems habe ich unter folgenden File hochgeladen:
https://www.herber.de/bbs/user/114936.xlsm
Und hier der angepaste Code, der folgendes machen soll:
Sind in der Spalte A in den Zeilen 3 bis XXX Werte vorhanden, die aus einer anderen Detei eingefügt werden, dann sollen die beiden Formeln aus der Zelle J3 und K3 bis zum Eintrag XXX in die darunter liegenden Zellen dieser beiden Spalten kopiert werden .
Sub FormelKopieren()
Dim laR As Long
laR = Cells(Rows.Count, 1).End(xlUp).Row
Range("J3:K3").AutoFill Destination:=Range("J3:K" & laR), _
Type:=xlFillDefault
Range("J3:K3" & laR).Copy
Range("J4:K" & laR).PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Ich sag schonmal vielen lieben Dank im Voraus für die Hilfe
Stephanie
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel automatisch und dynamisch kopieren
18.07.2017 15:08:55
Michael
Hallo!
Sub a()
Dim Ws As Worksheet: Set Ws = ThisWorkbook.ActiveSheet
Dim c&
With Ws
c = .Cells(.Rows.Count, "A").End(xlUp).Row
'Abbruch wenn Zeile 3 in Spalte A letzte gefüllte Zelle
If c 
Ein AutoFill ist (meist) nicht notwendig, in VBA können Bereiche direkt gefüllt werden; AutoFill entspricht der manuellen Aktion.
LG
Michael
Anzeige
AW: Formel automatisch und dynamisch kopieren
18.07.2017 15:42:34
Stephanie
Hallo,
vielen lieben Dank! Für mein kleines Beispiel klappt das ganze wunderbar!
Ich verstehe sogar halbswegs was in dem Quellcode geschrieben steht bzw. kann es soweit nachvollziehen, um den Code aus dieses Beispiel mit nur zwei Formeln, auf mein ursprüngliches Problem mit ein paar mehr Formeln zu adaptieren.
Vielen Dank nochmal
Anzeige
Super, Danke für die Rückmeldung, owT
18.07.2017 16:48:16
Michael
AW: Formel automatisch und dynamisch kopieren
18.07.2017 15:15:29
Werner
Hallo Stephanie,
hier wird die Formel direkt in den Bereich geschrieben, ohne Autofill.
Public Sub Formel_nach_unten()
Dim loLetzte As Long
Dim raBereich As Range
With Worksheets("Tabelle1")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Set raBereich = .Range(.Cells(3, 10), .Cells(loLetzte, 10))
raBereich.FormulaLocal = "=SUMME(B3:E3)"
raBereich.Offset(0, 1).FormulaLocal = "=SUMME(F3:I3)"
End With
Set raBereich = Nothing
End Sub
Code in ein allgemeines Modul und deiner Schaltfläche zuweisen.
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Formel automatisch und dynamisch kopieren


Schritt-für-Schritt-Anleitung

Um eine Excel-Formel automatisch fortzuführen, kannst Du die folgenden Schritte ausführen:

  1. Öffne Deine Excel-Datei: Stelle sicher, dass die Zellen, die Du füllen möchtest, bereits die Formeln enthalten, die Du in die darunter liegenden Zellen kopieren möchtest.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.

  4. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub FormelKopieren()
       Dim laR As Long
       laR = Cells(Rows.Count, 1).End(xlUp).Row
       Range("J3:K3").AutoFill Destination:=Range("J3:K" & laR), _
       Type:=xlFillDefault
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle FormelKopieren aus und klicke auf Ausführen.

  6. Überprüfen: Überprüfe die Zellen in Spalte J und K, ob die Formeln korrekt kopiert wurden.


Häufige Fehler und Lösungen

  • Excel Formel nicht automatisch fortführen: Wenn die Formel nicht automatisch fortgeführt wird, überprüfe, ob die Zellen, die Du kopieren möchtest, Formeln enthalten. Manchmal kann es helfen, die Zellen manuell zu markieren und die AutoFill-Griff zu verwenden.

  • Fehler im VBA-Code: Achte darauf, dass der Code in einem Modul und nicht in einem Arbeitsblatt platziert ist. Falsche Platzierung kann zu Laufzeitfehlern führen.


Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die Excel Tabelle nutzen, um Formeln automatisch fortzuführen:

  1. Tabelle erstellen: Wandle Deine Daten in eine Tabelle um (STRG + T).
  2. Formel eingeben: Gib die Formel in die erste Zeile der gewünschten Spalte ein. Excel wird die Formel automatisch in die darunter liegenden Zellen kopieren, wenn neue Daten hinzugefügt werden.

Praktische Beispiele

Ein Beispiel für eine Excel Formel in Spalte fortführen:

Angenommen, Du hast in Zelle J3 die Formel =SUMME(B3:E3) und in K3 die Formel =SUMME(F3:I3). Um diese Formeln bis zur letzten Zeile in Spalte A zu kopieren, kannst Du die oben beschriebene VBA-Methode oder die Tabelle-Methode verwenden.


Tipps für Profis

  • Formeln anpassen: Wenn Du die Formeln anpassen möchtest, stelle sicher, dass die Zellreferenzen korrekt sind. Verwende relative oder absolute Verweise je nach Bedarf.
  • Verwende Named Ranges: Named Ranges können helfen, die Lesbarkeit der Formeln zu verbessern und sie leichter zu verwalten.

FAQ: Häufige Fragen

1. Wie kann ich eine Excel-Formel automatisch fortführen, wenn ich mehrere Formeln habe?
Du kannst die gleichen Schritte befolgen und mehrere Zellen in der ersten Zeile auswählen, bevor Du die AutoFill-Funktion oder das VBA-Skript anwendest.

2. Was tun, wenn die Formel nicht automatisch fortgeführt wird?
Überprüfe, ob die Zellen, die Du kopieren möchtest, tatsächlich Formeln enthalten. Manchmal kann es hilfreich sein, die Zellen manuell zu füllen, um sicherzustellen, dass Excel die Formeln erkennt.

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