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

Forumthread: Nur Formeln kopieren mit VBA

Nur Formeln kopieren mit VBA
03.12.2004 12:24:23
Anja
Hallo,
ich möchte Spalten und Zeilen kopieren, und nur die Formeln oder Formate der kopierten Zeile einfügen.
Mein Vorgang: Worksheets(Index).Rows(Zeile).Copy
Worksheets(Index).Rows(andereZeile).PasteSpecial Paste:= xlPasteFormats oder entsprechend xlPasteFormulas.
Leider werden trotzdem auch die Werte eingefügt, wenn in Zellen der Spalte oder Zeile feste Werte stehen. Genau dies soll aber nicht geschehen.
Hat jemand eine Idee, was ich falsch mache, oder wie ich es richtig hinbekomme?
Vielen Dank
Anja
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Formeln kopieren mit VBA
Uduuh
Hallo,
schmeiß die Werte doch einfach raus.
Worksheets(index).rows(andereZeile).specialcells(xlcelltypeconstants).clearcontents
Gruß aus'm Pott
Udo

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Nur Formeln kopieren mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um in Excel nur Formeln zu kopieren und die Werte zu vermeiden, kannst du VBA verwenden. Folge diese Schritte:

  1. Öffne den Visual Basic for Applications (VBA) Editor mit ALT + F11.

  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (deine_datei.xlsx)“ > Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub NurFormelnKopieren()
       Dim ws As Worksheet
       Set ws = Worksheets("DeinBlattname") ' Ersetze "DeinBlattname" durch den Namen deines Arbeitsblattes
    
       ' Zeile kopieren
       ws.Rows("1").Copy ' Ersetze "1" durch die zu kopierende Zeile
    
       ' Werte löschen
       ws.Rows("2").SpecialCells(xlCellTypeConstants).ClearContents ' Ersetze "2" durch die Zielzeile
    
       ' Nur Formeln einfügen
       ws.Rows("2").PasteSpecial Paste:=xlPasteFormulas ' Ersetze "2" durch die Zielzeile
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die Formeln zu kopieren.


Häufige Fehler und Lösungen

  • Problem: Werte werden trotz xlPasteFormulas eingefügt.

    • Lösung: Stelle sicher, dass du die Werte in der Zielzeile vor dem Einfügen der Formeln mit SpecialCells(xlCellTypeConstants).ClearContents gelöscht hast.
  • Problem: Der Code läuft nicht.

    • Lösung: Überprüfe, ob du den richtigen Namen des Arbeitsblattes und die korrekten Zeilen- oder Spaltennummern angegeben hast.

Alternative Methoden

Wenn du eine andere Methode als VBA verwenden möchtest, kannst du auch die Funktion „Inhalte einfügen“ in Excel verwenden:

  1. Kopiere die Zeile oder Spalte.
  2. Klicke mit der rechten Maustaste auf die Zielzelle.
  3. Wähle „Inhalte einfügen“ und dann „Formeln“ aus.

Diese Methode eignet sich gut, wenn du nicht mit VBA arbeiten möchtest, aber du wirst die Werte in der Zielzelle nicht automatisch entfernen können.


Praktische Beispiele

Hier ist ein einfaches Beispiel für die Verwendung des VBA-Codes:

  • Beispiel: Du möchtest die Formeln aus Zeile 1 in Zeile 2 kopieren, ohne die Werte in Zeile 2 zu behalten. Nutze den oben genannten VBA-Code und passe die Zeilennummern an.

Tipps für Profis

  • Makro anpassen: Du kannst das Makro anpassen, um mehrere Zeilen oder Spalten gleichzeitig zu kopieren.
  • Fehlerbehandlung: Füge Fehlerbehandlung zu deinem VBA-Code hinzu, um sicherzustellen, dass das Makro auch bei unerwarteten Fehlern stabil läuft.
  • Automatisierung: Überlege, ob du das Makro automatisch beim Öffnen der Datei oder bei bestimmten Aktionen ausführen möchtest.

FAQ: Häufige Fragen

1. Wie kann ich den VBA-Code anpassen, um mehrere Zeilen zu kopieren? Du kannst eine Schleife verwenden, um mehrere Zeilen in einem Durchgang zu kopieren. Beispiel:

For i = 1 To 5 ' Kopiert Zeilen 1 bis 5
    ws.Rows(i).Copy
    ws.Rows(i + 1).SpecialCells(xlCellTypeConstants).ClearContents
    ws.Rows(i + 1).PasteSpecial Paste:=xlPasteFormulas
Next i

2. Funktioniert dieser Code auch in Excel Online? Der VBA-Code funktioniert nicht in Excel Online, da Makros in der Online-Version von Excel nicht unterstützt werden. Du musst Excel Desktop verwenden.

3. Was ist der Unterschied zwischen xlPasteFormats und xlPasteFormulas? xlPasteFormats kopiert nur die Formatierung der Zellen, während xlPasteFormulas nur die Formeln ohne die Werte kopiert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige