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

Forumthread: VBA: Formel runter kopieren

VBA: Formel runter kopieren
13.03.2013 10:40:26
Manfred
Hallo Excel Freunde,
wie kann ich folgende Formel, die in der Zelle "P1" steht, per VBA herunter kopieren bis zur Zelle "P50"?
=AUFRUNDEN(L2/15;0)
Besser noch wäre, wenn genau bis zur letzten beschrieben Zeile in Spalte "A"
Gleiche Frage, wenn es sich nicht um eine Formel, sondern um einen festen Betrag handelt?
Gruß Manfred

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Formel runter kopieren
13.03.2013 10:43:27
Klaus
Hi,
das geht so:
Sub FormelRunterKopieren()
Dim lRow As Long
With ActiveSheet
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("P1").Copy
.Range("P2:P" & lRow).PasteSpecial
End With
End Sub
lRow ist die letzte Zeile, das 1 in der lRow-Zeile steht für Spalte A.
Grüße,
Klaus M.vdT.

Anzeige
AW: VBA: Formel runter kopieren
13.03.2013 10:44:46
Hajo_Zi
Hallo Manfred,
Option Explicit
Sub Kopie()
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), _
Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
Range("P1").Copy Range(Range("P2"), Range("P" & LoLetzte))
End Sub

Anzeige
AW: danke Hajo (owT)
13.03.2013 11:00:28
Manfred

AW: VBA: Formel runter kopieren
13.03.2013 10:50:56
hary
Moin
Oder:
'Formel
Range("P2:P" & Cells(Rows.Count, 1).End(xlUp).Row).FormulaLocal = Range("P1").FormulaLocal
'Betrag
Range("P2:P" & Cells(Rows.Count, 1).End(xlUp).Row).Value = Range("P1").Value

gruss hary

AW: AW: danke Hary
13.03.2013 11:01:47
Manfred
Hallo Hary,
die Kurzform der Formel ist ja der Hammer. Ich bin begeistert.
Vielen Dank
Gruß Manfred

Anzeige
Funktion kopieren per VBA : Lösung per .FillDown
13.03.2013 12:20:50
NoNet
Hallo Manfred,
auch wenn die Anfrage bereits gelöst ist : hier eine weitere Möglichkeit, die (fast) exakt Deine Anfrage ("herunter kopieren") verwendet :
Range("P1:P" & Cells(Rows.Count, 1).End(xlUp).Row).filldown
Gruß, NoNet

Anzeige
AW: Danke NoNet, aber...
13.03.2013 14:14:47
Manfred
Hallo NoNet,
dabei werden aber meine Formate geändert. Aber wer auf Kürze Wert legt, ist es auch eine brauchbare Lösung.
Gruß Manfred
;

Forumthreads zu verwandten Themen

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

VBA: Formel automatisch runterziehen in Excel


Schritt-für-Schritt-Anleitung

Um eine Formel in Excel mit VBA herunterzukopieren, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen. Diese Methode ist besonders nützlich, wenn du die Formel bis zur letzten beschriebenen Zeile in einer bestimmten Spalte ziehen möchtest.

  1. Öffne den Visual Basic for Applications (VBA) Editor, indem du ALT + F11 drückst.

  2. Füge ein neues Modul ein: Rechtsklick auf „VBAProject“ > „Einfügen“ > „Modul“.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub FormelRunterKopieren()
        Dim lRow As Long
        With ActiveSheet
            lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
            .Range("P1").Copy
            .Range("P2:P" & lRow).PasteSpecial
        End With
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus: ALT + F8, wähle FormelRunterKopieren und klicke auf „Ausführen“.

Diese Methode kopiert die Formel in Zelle P1 bis zur letzten Zeile in Spalte A.


Häufige Fehler und Lösungen

  • Fehler: Die Formel wird nicht richtig kopiert.

    • Lösung: Stelle sicher, dass die Zielzelle (P1) die richtige Formel enthält und dass Spalte A tatsächlich Daten hat.
  • Fehler: Fehlermeldung wegen ungültiger Zelle.

    • Lösung: Überprüfe, ob die Zelle P1 existiert und eine gültige Formel enthält.

Alternative Methoden

Wenn du eine andere Möglichkeit suchst, um eine Formel in Excel automatisch runterzuziehen, kannst du die FillDown-Methode verwenden. Hier ist ein Beispiel:

Range("P1:P" & Cells(Rows.Count, 1).End(xlUp).Row).FillDown

Diese Methode ist einfach und effektiv, kann jedoch dazu führen, dass Formatierungen überschrieben werden.


Praktische Beispiele

Hier sind einige praktische Beispiele für das Kopieren von Formeln mit VBA:

  1. Formel in P1 runterziehen bis zur letzten Zeile in Spalte A:

    Sub FormelRunterziehen()
        Dim lRow As Long
        lRow = Cells(Rows.Count, 1).End(xlUp).Row
        Range("P1").Copy Range("P2:P" & lRow)
    End Sub
  2. Fester Betrag in P1 kopieren:

    Sub BetragKopieren()
        Dim lRow As Long
        lRow = Cells(Rows.Count, 1).End(xlUp).Row
        Range("P2:P" & lRow).Value = Range("P1").Value
    End Sub

Diese Beispiele zeigen, wie du eine Excel-Formel kopieren bis letzte zeile oder einen festen Betrag effizient handhaben kannst.


Tipps für Profis

  • Verwende die FormulaLocal-Eigenschaft, um die Formel exakt zu kopieren, besonders wenn du mit verschiedenen Sprachversionen von Excel arbeitest.
  • Denke daran, dass du mit Application.CutCopyMode = False den Kopiermodus beenden kannst, um das Clipboard zu leeren und das Excel-Interface zu bereinigen.
  • Nutze CTRL + D, um eine Formel schnell in einer Spalte nach unten zu ziehen, falls du keinen VBA-Ansatz verwenden möchtest.

FAQ: Häufige Fragen

1. Wie kann ich die Formel bis zum Ende der Tabelle ziehen?
Du kannst den Code anpassen, um die Formel bis zur letzten Zeile in einer bestimmten Spalte zu ziehen, wie im Beispiel gezeigt.

2. Gibt es einen Excel-Shortcut, um Formeln schnell runterzuziehen?
Ja, du kannst CTRL + D verwenden, um die Formel in der ausgewählten Zelle nach unten zu kopieren.

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