Formeln durch Werte ersetzen

elmyth

Erfahrenes Mitglied
Guten Morgen,

ich würde gerne alle Formeln in einer Excel-Datei durch die Ergebniswerte ersetzen.
Ich kann alles kopieren und via "Inhalte einfügen -> Werte" das obige Ziel erreichen, jedoch gehen mir dann alle Formatierungen und das Layout verloren.
Ich habe nun hier ein VBA-Script gefunden welches die Aufgabe erledigen sollte. Da ich jedoch keine Ahnung von Scripten in Excel oder VB habe und der folgende Code nicht funkioniert bin ich weiterhin auf Hilfe angewiesen und hoffe, dass mir hier jemand etwas unter die Arme greifen kann.

Der VBA-Code:
Code:
Option Explicit

Sub Formeln_löschen()
      With UsedRange
         .Value = .Value
      End With
End Sub

Ich habe bei Excel 2010 die Entwicklertools aktiviert und dort ein neues Makro mit dem obigen Code erstellt. Wenn ich das Marko ausführe, öffnet sich der Debugger, "UsedRange" ist markiert und folgende Fehlermeldung poppt auf: "Fehler beim Kompilieren: Variable nicht definiert."

Wenn mir jemand beim Ausführen des Codes oder eine alternative Methode verraten kann, wäre ich sehr dankbar.

Schönen Gruß
elmyth
 
Moin elmyth,
Ich kann alles kopieren und via "Inhalte einfügen -> Werte" das obige Ziel erreichen, jedoch gehen mir dann alle Formatierungen und das Layout verloren.
? ? ? Das kann ich nicht nachvollziehen, klappt bei mir super.

... und der folgende Code nicht funkioniert bin ich weiterhin auf Hilfe angewiesen und hoffe, dass mir hier jemand etwas unter die Arme greifen kann.
Auch hier: Der Code funktioniert einwandfrei und tut seinen Dienst. Du musst irgend etwas dazu geschrieben haben, was VBA als Variable identifiziert. Wenn du den geposteten Code, und auch nur exakt den in dein Arbeitsblatt einfügst, muss das gehen.

Vielleicht solltest du den Namen der Sub ändern, Sub Formeln_loeschen() also das ö durch oe ersetzen
 
Zuletzt bearbeitet:
Und im Zweifel das Kopierte an die originale Position wieder einfügen.
Dann bleiben auch die Spaltenbreiten erhalten und du kannst, wie du es selbst beschrieben hast, de Formeln in Werte umwandeln.

Grüße Marco
 
Grüezi Elmyth

Passe doch den Code mal wiel folgt an:


Code:
Option Explicit
 
Sub Formeln_löschen()
      With ActiveSheet.UsedRange
         .Value = .Value
      End With
End Sub
 
Zunächst ein Dank für die Antworten.
Ich habe die Anpassung von Thomas übernommen und siehe da, es funktioniert.
Vielen Dank!
 

Neue Beiträge

Zurück