Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Alle Formeln in Festwerte verwandeln

Alle Formeln in Festwerte verwandeln
21.07.2006 12:05:59
Karl
Hallo,
gibt es eine einfache Möglichkeit alle Formeln einer Arbeitsmappe mit vielen Tabellen nach der Berechnung in Festwerte umzuwandeln?
Es handelt sich v.a. um VLOOKUP Funktionen, deren Berechnung danach nicht mehr nachvollziehbar sein darf.
Einzeln Tabelleninhalte kopieren in neue Tabelle wäre zu umständlich, wg. der Anzahl der Tabellen.
Danke!
Karl
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Formeln in Festwerte verwandeln
21.07.2006 12:17:37
FP
Hallo Karl,
a) markiere alle Register ( Klick mit rechter MT auf ein Register - Menüpunkt "alle Blätter auswählen" )
b) markiere "alles" ( Klicke auf den "Knopf" links von der Spalten- und oberhalb der Zeilenbeschriftung )
c) kopiere alles in die Zwischenablage ( z.B. per Strg + C )
d) füge nur die Werte ein ( z.B. per Menüpunkt "Bearbeiten - Inhalte einfügen - Option "Werte" )
e) drücke die Taste ESC und wähle irgend eine andere Tabelle an
Danach sind ALLE FORMELN in ALLEN TABELLEN in Werte umgewandelt!
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Alle Formeln in Festwerte verwandeln
21.07.2006 12:31:00
Karl
Hallo Franz,
danke erstmal, allerding geht das bei mir nicht...
Beim Versuch die Daten zu kopieren, bekomme ich folgende Fehlermeldung:
"That command cannot be used on multiple selections."
Einmal alle Tabellen einzeln kopieren bringts leider nicht, da die Werte in der Quelldatei regelmässig aktualisiert werden sollen.
Grüsse aus Berlin,
Karl
Anzeige
AW: Alle Formeln in Festwerte verwandeln
21.07.2006 13:11:12
Matthias
Hallo Karl,
so ginge es mit VBA:

Sub test()
Dim sh As Worksheet
Dim rng As Range, z As Range
For Each sh In ActiveWorkbook.Worksheets
Set rng = sh.Cells.SpecialCells(xlCellTypeFormulas)
For Each z In rng
z.Value = z.Value
Next z
Next sh
End Sub

Gruß Matthias
Anzeige
Frage an Matthias
21.07.2006 14:28:30
{mskro}
Hallo Matthias,
hier möchte ich auch mal nachhaken.
Ist es möglich so etwas auch beim Kopieren der Sheets zu verwenden, denn ich habe unheimlich viele SVerweise in Dateien, die ich erst kopiere und dann mit Werte einfügen bearbeite. Alleine das Kopieren dauert bis zu 3 Minuten. Diese Zeit würde ich mir gerne sparen, wenn ich gleich die Möglichkeit hätte, sie als Wertetabellen zu kopieren. Hast du dafür auch einen Tip?
Gruss Manfred
Anzeige
AW: Frage an Matthias
22.07.2006 11:06:58
Matthias
Hallo MAnfred,
Alleine das Kopieren dauert bis zu 3 Minuten
Wie kopierst du denn, mit VBA?
Gruß Matthias
AW: Frage an Matthias
24.07.2006 11:13:45
{mskro}
Hallo Matthias,
ganz normal mit Selection.Copy und Paste. Nur sind eben hunderte von SVerweisen drin, die in der Kopie nicht benötigt werden. Und das dauert so lange. Hast du eine Idee, wie ich das eleganter lösen kann? Das beste wäre, wenn ich Excel gleich beim erstllen der Tabellenblattkopien sagen kann, das nur die Werte benötigt werden.
Gruss Manfred
Anzeige
AW: Frage an Matthias
24.07.2006 11:37:53
Matthias
Hallo Manfred,
so in der Art:

Sub test()
Sheets("Tabelle1").Range("A:A").Copy
Sheets("Tabelle2").Range("A:A").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Gruß Matthias
AW: Frage an Matthias
24.07.2006 12:00:30
{mskro}
Hallo Matthias,
ich gehe folgendermaßen vor:

Sub Test()
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle4")).Select 'ca 20 Tabellenblätter
Sheets("Tabelle1").Activate
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle4")).Copy
End Sub

So wird die neue Arbeitsmappe erstellt und die SVerweise berechnet. Danach wird jedes einzelne Tabellenblatt mit Copy und PasteSpezial bearbeitet. Das würde ich gerne ändern.
Wie kann ich nun hier schon beim Kopieren die SVerweise weglassen und nur die Werte nehmen?
Gruß Manfred
Anzeige
AW: Frage an Matthias
24.07.2006 13:23:20
Matthias
Hallo Manfred,
versuch' mal dies:

Sub Kopiere_Werte()
Dim fn As String, sh As Worksheet
Dim calcMode
With ActiveWorkbook
fn = "Werte_" & .Name
If Not .Saved Then .Save
.SaveAs Filename:=.Path & "\" & fn
calcMode = Application.Calculation
Application.Calculation = xlCalculationManual
For Each sh In .Worksheets
sh.Cells.Copy
sh.Cells.PasteSpecial Paste:=xlPasteValues
Next sh
Application.Calculation = calcMode
Application.CutCopyMode = False
.Save
End With
End Sub

Die Aktive Mappe wird mit Werten als Inhalt unter neuem Namen ("Werte_" + AlterName) gespeichert.
Gruß Matthias
P.S. hast du das schon gelesen?
https://www.herber.de/forum/messages/784407.html
Anzeige
AW: Frage an Matthias
24.07.2006 14:18:01
{mskro}
Hallo Matthias,
damit werden aber alle Sheets inkl. der Makros kopiert. Es sollen aber nur vorbestimmte Tabellenblätter und ohne jegliche Makros kopiert werden. Ich hoffe das geht auch noch. :-)
Gruss Manfred
Frage besser im eigenen Thread
25.07.2006 09:31:44
{mskro}
...das es nicht zum eigentlichen Thema passt, habe ich einen eigenen Thread dafür eingestellt.
https://www.herber.de/forum/messages/784924.html
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Alle Formeln in Festwerte umwandeln


Schritt-für-Schritt-Anleitung

  1. Alle Tabellenblätter auswählen: Klicke mit der rechten Maustaste auf ein Tabellenblatt und wähle "Alle Blätter auswählen".
  2. Alles markieren: Klicke auf den kleinen Button links von der Spalten- und oberhalb der Zeilenbeschriftung, um alles in der Arbeitsmappe zu markieren.
  3. In Zwischenablage kopieren: Drücke Strg + C, um alle Inhalte in die Zwischenablage zu kopieren.
  4. Nur die Werte einfügen: Gehe zu "Bearbeiten" > "Inhalte einfügen" und wähle die Option "Werte".
  5. Abbrechen und Tabelle wechseln: Drücke die ESC-Taste und wähle ein beliebiges anderes Tabellenblatt aus.

Danach sind alle Formeln in allen Tabellen in feste Werte umgewandelt.


Häufige Fehler und Lösungen

  • Fehler: "That command cannot be used on multiple selections."
    Dieser Fehler tritt auf, wenn Du versuchst, mehrere Bereiche oder Tabellen gleichzeitig zu kopieren. Stelle sicher, dass Du alle Blätter korrekt ausgewählt hast und versuche es erneut.

  • Lösung für VBA-Nutzer: Wenn Du VBA verwenden möchtest, kannst Du folgendes Makro nutzen:

    Sub test()
      Dim sh As Worksheet
      Dim rng As Range, z As Range
      For Each sh In ActiveWorkbook.Worksheets
          Set rng = sh.Cells.SpecialCells(xlCellTypeFormulas)
          For Each z In rng
              z.Value = z.Value
          Next z
      Next sh
    End Sub

Alternative Methoden

Eine weitere Möglichkeit besteht darin, die Excel-Verknüpfungen in Werte umzuwandeln. Du kannst dies tun, indem Du die Daten in ein neues Blatt kopierst und dann die Werte anstelle der Formeln einfügst. Dies ist besonders nützlich, wenn Du nur bestimmte Tabellenblätter in feste Werte umwandeln möchtest.

Hier ist ein Beispiel für ein einfaches VBA-Skript, das dies tut:

Sub Kopiere_Werte()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        sh.Cells.Copy
        sh.Cells.PasteSpecial Paste:=xlPasteValues
    Next sh
    Application.CutCopyMode = False
End Sub

Praktische Beispiele

Wenn Du viele SVERWEISE oder VLOOKUP-Funktionen verwendest, ist es sinnvoll, diese in feste Werte umzuwandeln, um die Berechnungszeit zu verkürzen. Du kannst die oben genannten Methoden verwenden, um alle Excel-Formeln auf einmal zu konvertieren.

Ein Beispiel für die Verwendung des VBA-Skripts, um nur bestimmte Blätter zu kopieren und die Formeln in feste Werte umzuwandeln:

Sub Kopiere_Spezifische_Werte()
    Dim sh As Worksheet
    Dim Blätter() As Variant

    Blätter = Array("Tabelle1", "Tabelle2") ' Die gewünschten Blätter angeben
    For Each sh In Blätter
        ThisWorkbook.Sheets(sh).Cells.Copy
        ThisWorkbook.Sheets(sh).Cells.PasteSpecial Paste:=xlPasteValues
    Next sh
    Application.CutCopyMode = False
End Sub

Tipps für Profis

  • Makros verwenden: Wenn Du oft Formeln in feste Werte umwandeln musst, speichere das oben angegebene VBA-Skript als Makro. So kannst Du es schnell wiederverwenden.
  • Backups machen: Stelle sicher, dass Du eine Sicherungskopie Deiner Datei machst, bevor Du die Formeln in feste Werte umwandelst, um Datenverlust zu vermeiden.
  • Excel alle Formeln anzeigen: Um alle Formeln in einem Blatt anzuzeigen, drücke Strg + (Gravis) auf deiner Tastatur.

FAQ: Häufige Fragen

1. Wie kann ich alle Excel-Formeln in einer Arbeitsmappe schnell umwandeln?
Du kannst alle Blätter auswählen und dann die Schritte in der Schritt-für-Schritt-Anleitung befolgen, um alle Formeln in feste Werte umzuwandeln.

2. Gibt es eine Möglichkeit, nur bestimmte Tabellenblätter in feste Werte umzuwandeln?
Ja, du kannst ein VBA-Skript verwenden, um gezielt nur die gewünschten Tabellenblätter zu kopieren und die Formeln in feste Werte umzuwandeln.

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