Manchmal gibt es Situationen, wo in komplexen Tabellen die Formeln durch Werte ersetzt werden müssen, um diese Tabellen dritte zugänglich zu machen. Dazu gibt es zwei Möglichkeiten. Die erste Möglichkeit ist, die Tabelle zu kopieren und in eine neue Arbeitsmappe wieder einzufügen. Beim Einfügen muss darauf geachtet werden, dass nur die Werte eingefügt werden. Dazu wählen Sie den Menüpunkt aus dem folgenden Bild aus : (roter Pfeil)
Bei dieser Methode ist aber meistens noch ein weiterer Schritt notwendig. Denn beim Kopieren der Tabelle geht in den meisten Fällen die Formatierung der Zellen verloren. Somit hast Du immer wieder Nacharbeiten um das Ergebnis der Tabelle dritten zur Verfügung zu stellen. Es gibt aber noch eine zweite Möglichkeit per VBA. Du erstellst Dir eine Funktion, die durch den Aufruf selber in dem selektierten Bereich die Formeln durch die Ergebniswerte ersetzt. Damit behält die Tabelle und die Zellen die Formatierungen und Du kannst Dir die Nacharbeiten sparen.
Nun öffne den Visual Basic Editor über den Reiter Entwicklungstools–>Visual Basic oder über die Tastenkombination ALT+F11. Dann ein neues Modul erstellen und dann die folgenden Funktion hinzufügen :
Sub FormelnDurchWerte() ' Auswahl kopieren Selection.Copy ' Kopierte Zellen einfügen, jedoch nur die Werte (xlValues) Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False ' Kopieren-Modus ausschalten Application.CutCopyMode = False ' Abschluss-Meldung (optional) MsgBox "Formeln in " & Selection.Cells.Count & " Zellen durch ihren Wert ersetzt!" End Sub
Damit die Funktion jetzt die vorhandenen Formeln durch Werte ersetzen kann, musst Du den Bereich erst auswählen und dann das Makro starten. Das Makro ersetzt nun alle Formeln durch Werte. Die letzte Zeile mit der Message Box ist optional. Diese Makro kannst Du nun in der Arbeitsmappe lassen oder in die persönliche Arbeitsmappe (PERSONL.XLS) oder in ein Add-In (*.XLAM) als Modul speichern.