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

Formel löschen aber Werte behalten

Forumthread: Formel löschen aber Werte behalten

Formel löschen aber Werte behalten
01.02.2007 10:21:22
Sepp
Hallo zusammen
Hoffe jemand kann mir helfen
Hab hab ein VBA Code der schon mal funktioniert hat,
aber jetzt auf einmal nicht mehr läuft.
Das Merkwürdige darn es kommt auch kein Laufzeitfehler oder ähnliches.
Weiß nicht mehr weiter !!!
Hier der Code:

Sub Formel_löschen()
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Vielleicht hat jemand eine Idee voran es liegen kann.
Danke und Gruß
Sepp
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel löschen aber Werte behalten
01.02.2007 14:07:57
Dan
Hallo Sepp, ich habe einpaar Tests in Deinen Code eingebaut. Versuch die Formeln einmal so zu loeschen. Gruss Dan, cz

Sub Formel_löschen()
On Error GoTo Err_Formel_löschen
If (ActiveSheet Is Nothing) Then
Err.Raise vbObjectError + 1, , "ActiveSheet Is Nothing"
Else
Cells.Select
End If
If (VBA.TypeName(Selection) <> "Range") Then
Err.Raise vbObjectError + 2, , "Selection ist kein Range"
Else
Dim cellsToCopy As Range
Set cellsToCopy = Selection
cellsToCopy.Copy
On Error Resume Next
Dim cellsWithFormula
Err.Clear
Set cellsWithFormula = Selection.SpecialCells(xlCellTypeFormulas)
If (Err.Number = 0) Then
VBA.MsgBox "Copy methode kopierte <" & cellsToCopy.Cells.Count & "> cells" & vbCrLf & _
"Davon mit Formel <" & cellsToCopy.SpecialCells(xlCellTypeFormulas).Count & ">", vbInformation, "Selection.Copy"
Else
VBA.MsgBox "Copy methode kopierte <" & cellsToCopy.Cells.Count & "> cells" & vbCrLf & _
"Keine davon hatte eine Formel", vbInformation, "Selection.Copy"
End If
On Error GoTo Err_Formel_löschen
End If
cellsToCopy.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
Application.CutCopyMode = False
Exit Sub
Err_Formel_löschen:
VBA.MsgBox Err.Description, vbCritical, "Error in <" & "

Sub Formel_löschen" & "> Error number <" & Err.Number & ">"
End Sub

Anzeige
AW: Formel löschen aber Werte behalten
01.02.2007 22:26:16
daniel Eisert
Hallo
nen direkten Fehler kann ich da auch nicht erkennen, aber CELLS.SELECT ist schwierieg, weil das sind normalerweise ganz schön viele, da kanns bei vielen Formeln auch schon mal zu Speicherproblemen kommen.
ich würde die selektierten Zellen mit USEDRANGE auf das notwendige einschränken und mit folgendem Code arbeiten:

Sub Formel_löschen()
with activesheet.usedrange
.clearformats
.formula = .value
end with
End Sub

Gruß, Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Formeln in Excel löschen und Werte behalten


Schritt-für-Schritt-Anleitung

Um in Excel Formeln zu löschen, aber die Werte zu behalten, kannst Du folgende Schritte befolgen:

  1. Zellen auswählen: Wähle die Zellen aus, die die Formeln enthalten.
  2. Werte kopieren: Drücke Strg + C, um die Auswahl zu kopieren.
  3. Werte einfügen: Klicke mit der rechten Maustaste auf die gleiche Auswahl und wähle unter "Inhalte einfügen" die Option "Werte" (oder drücke Strg + Alt + V und wähle "Werte").
  4. Formeln entfernen: Die Formeln werden nun durch die Werte ersetzt.

Alternativ kannst Du auch VBA verwenden, um diesen Vorgang zu automatisieren. Hier ist ein einfacher VBA-Code, den Du verwenden kannst:

Sub Formel_löschen()
    Cells.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
End Sub

Häufige Fehler und Lösungen

  • Speicherprobleme: Wenn Du eine große Auswahl an Zellen mit Cells.Select verwendest, kann es zu Speicherproblemen kommen. Vermeide Select und arbeite direkt mit dem UsedRange.

  • Keine Werte kopiert: Stelle sicher, dass die Zellen tatsächlich Formeln enthalten. Wenn nicht, wird der Kopiervorgang keine Änderungen zeigen.

  • Laufzeitfehler: Der Code kann fehlschlagen, wenn die Auswahl leer ist oder nicht im richtigen Format vorliegt. Überprüfe Deine Auswahl.


Alternative Methoden

Wenn Du eine andere Methode ausprobieren möchtest, kannst Du den folgenden VBA-Code nutzen, um alle Formeln in einem bestimmten Bereich zu entfernen und die Werte zu behalten:

Sub Formel_löschen()
    With ActiveSheet.UsedRange
        .Formula = .Value
    End With
End Sub

Diese Methode ist effizient und funktioniert auch bei großen Datenmengen, da sie die Auswahl auf den UsedRange beschränkt.


Praktische Beispiele

  1. Formel löschen, aber Wert behalten:

    • Du hast in Zelle A1 die Formel =B1+C1. Nach dem Ausführen des obigen Codes wird in A1 der Wert angezeigt, anstatt die Formel.
  2. SVERWEIS entfernen und Wert behalten:

    • Wenn Du eine SVERWEIS-Formel in Zelle B2 hast, kannst Du den gleichen Prozess anwenden, um den Wert zu behalten und die Formel zu entfernen.

Tipps für Profis

  • Verwende Application.CutCopyMode = False, um den Kopiermodus zu beenden und die Zwischenablage zu leeren.
  • Teste Deinen VBA-Code in einer Kopie Deiner Arbeitsmappe, um Datenverluste zu vermeiden.
  • Nutze die Möglichkeit, Fehlerbehandlungen in VBA einzubauen, um unerwartete Fehler abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich alle Formeln in einem Arbeitsblatt entfernen, aber die Werte behalten? Du kannst einfach den UsedRange des Arbeitsblatts auswählen und die Methode .Formula = .Value verwenden, um alle Formeln durch Werte zu ersetzen.

2. Gibt es eine Möglichkeit, nur bestimmte Formeln zu entfernen? Ja, Du kannst gezielt nach bestimmten Formeln suchen und diese mit VBA entfernen, während Du andere beibehältst.

3. Was passiert mit den Formatierungen, wenn ich Formeln durch Werte ersetze? Die Formatierungen bleiben in der Regel erhalten, es sei denn, Du verwendest einen Code, der die Formatierungen ebenfalls löscht. Achte darauf, dies in Deinem VBA-Code zu berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige