Excel VBA: Werte kopieren – nicht die Formel
Schritt-für-Schritt-Anleitung
Um mit Excel VBA Werte zu kopieren, ohne die Formeln zu übertragen, kannst du folgenden Code verwenden. Dieser Code kopiert das Ergebnis einer Formel aus dem Bereich A1 bis A5 und fügt es in das Tabellenblatt „Tabelle2“ ein.
-
Öffne den VBA-Editor (ALT + F11).
-
Füge den folgenden Code in das entsprechende Arbeitsblatt-Modul ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub
ActiveCell.Copy
Sheets("Tabelle2").Range("A1").PasteSpecial xlPasteValues
End Sub
-
Speichere deine Änderungen und schließe den VBA-Editor.
Mit diesem Code wird beim Wechseln zur Zelle A1 bis A5 das Ergebnis der Zelle (nicht die Formel) in die Zelle A1 des zweiten Tabellenblatts kopiert.
Häufige Fehler und Lösungen
-
Fehler: „Excel kopiert Formel nicht.“
- Lösung: Stelle sicher, dass du die
PasteSpecial
-Methode mit xlPasteValues
verwendest, um nur die Werte zu kopieren.
-
Fehler: „Das kopierte Ergebnis ist nicht das, was ich erwartet habe.“
- Lösung: Überprüfe, ob der Quellbereich A1 bis A5 tatsächlich Werte enthält, die nicht nur aus Formeln bestehen.
Alternative Methoden
Falls du nicht mit VBA arbeiten möchtest, kannst du auch die Funktion „Inhalte einfügen“ verwenden:
- Markiere die Zelle oder den Zellenbereich mit den gewünschten Werten.
- Drücke STRG + C, um die Zellen zu kopieren.
- Klicke mit der rechten Maustaste auf die Zielzelle.
- Wähle „Inhalte einfügen“ und dann „Werte“. Damit wird das Excel-Ergebnis ohne Formel kopiert.
Praktische Beispiele
-
Einfaches Kopieren von Werten:
- Wenn du nur die Werte ohne Formeln aus einem Bereich kopieren möchtest, kannst du den obigen VBA-Code verwenden oder die „Inhalte einfügen“-Methode.
-
Kopieren von Formelergebnissen in eine andere Datei:
- Du kannst auch die
Workbook
-Objekte in VBA verwenden, um Werte zwischen verschiedenen Excel-Dateien zu übertragen.
Workbooks("QuellDatei.xlsx").Sheets("Tabelle1").Range("A1").Copy
Workbooks("ZielDatei.xlsx").Sheets("Tabelle1").Range("A1").PasteSpecial xlPasteValues
Tipps für Profis
- Nutze die
Application.CutCopyMode = False
-Anweisung, um den Kopiermodus zu deaktivieren, nachdem du die Werte eingefügt hast.
- Wenn du häufig Werte kopierst, kannst du Makros erstellen, um den Prozess zu automatisieren und Zeit zu sparen.
FAQ: Häufige Fragen
1. Wie kann ich nur Zahlen kopieren, ohne Formeln zu übertragen?
Verwende die PasteSpecial
-Methode mit xlPasteValues
, um nur die Zahlen zu kopieren.
2. Kann ich auch Text ohne Formeln kopieren?
Ja, der gleiche VBA-Code funktioniert auch für Zellen, die Text enthalten. Es wird nur das Ergebnis (der Inhalt) kopiert, nicht die Formel.
3. Was mache ich, wenn Excel beim Kopieren nicht die gewünschten Werte anzeigt?
Überprüfe die Quellzelle, um sicherzustellen, dass sie tatsächlich ein Ergebnis und keine Formel enthält.