Formeln per VBA in Werte umwandeln

Bild

Betrifft: Formeln per VBA in Werte umwandeln von: Harald
Geschrieben am: 11.02.2005 23:48:40

Hallo Excel-Freunde,

ich besitze lediglich durch diesen Chat und durch ausprobieren mit Recorder angeeignete VBA-Kenntnisse.

Kann man mit einen VBA-Code auf einen Schlag alle Formeln eines Tabellenblattes löschen und gleichzeitig nur noch die Werte (= Formelergebnis) in der gleichen Zelle anzeigen lassen ?

Gruß, Harald.

Bild


Betrifft: AW: Formeln per VBA in Werte umwandeln von: Frank
Geschrieben am: 11.02.2005 23:59:04

Kopieren, Inhalte einfügen, Werte

Grüße Frank


Bild


Betrifft: Formeln per VBA in Werte umwandeln von: Harald
Geschrieben am: 12.02.2005 00:07:39

Hallo Frank,

vielen Dank.

Ist hier der per Makrorecorder aufgezeichnet Code der gangbarste Weg oder gibt es einen besseren VBA-Code ?

Gruß, Harald


Bild


Betrifft: AW: Formeln per VBA in Werte umwandeln von: Frank
Geschrieben am: 12.02.2005 00:10:07

Zeig mal her den Rekordercode.

Grüße Frank


Bild


Betrifft: Formeln per VBA in Werte umwandeln von: Harald
Geschrieben am: 12.02.2005 00:15:49

Hallo Frank,

das aufgezeichnete Makro sieht so aus:

Sub Formeln_in_Werte_umwandeln()
'
' Formeln_in_Werte_umwandeln Makro
'
'
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Gruß, Harald.


Bild


Betrifft: AW: Formeln per VBA in Werte umwandeln von: Frank
Geschrieben am: 12.02.2005 00:22:49

So ist es besser:

Sub Formeln_in_Werte_umwandeln()
Dim ac As Range
Set ac = ActiveCell
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ac.Select
End Sub


Grüße Frank


Bild


Betrifft: AW: Formeln per VBA in Werte umwandeln von: Harald
Geschrieben am: 12.02.2005 00:25:07

Danke Dir Frank.

Wünsche eine gute Nacht.

Harald.


Bild


Betrifft: ActiveCell.Value = ActiveCell.Value von: Franz W.
Geschrieben am: 12.02.2005 09:38:03

Hallo Harald,

eine Alternative wäre:

Sub Formel_in_Wert()
  ActiveCell.Value = ActiveCell.Value
End Sub



Ersetzt die Formel in der Zelle durch ihr Ergebnis. Weiß nicht was schneller geht.


Grüße
Franz


Bild


Betrifft: AW: ActiveCell.Value = ActiveCell.Value von: Franz W.
Geschrieben am: 12.02.2005 10:00:32

Hallo Harald,

hab grad nochmal reingelesen, du wolltest das ja für einen größeren Bereich. Markiere den Bereich, in dem die Formeln durch den Wert ersetzt werden sollen und nimm dann diesem Code:

Sub Formel_in_Wert()
  Dim cl As Range
  For Each cl In Selection
    cl.Value = cl.Value
  Next
End Sub



Grüße
Franz


Bild


Betrifft: AW: ActiveCell.Value = ActiveCell.Value von: PeterW
Geschrieben am: 12.02.2005 10:18:32

Hallo Franz,

warum per Schleife, das geht doch direkter:
Range("A1:C100") = Range("A1:C100").Value oder eben
Selection = Selection.Value

Gruß
Peter


Bild


Betrifft: Danke. von: Harald
Geschrieben am: 12.02.2005 11:27:55

Danke Euch allen für die vorgeschlagenen Lösungen.

Ich werde die für meine Bedürfnisse schnellste Lösung austesten.

Gruß, Harald aus Köln.


Bild


Betrifft: AW: ActiveCell.Value = ActiveCell.Value von: Frank
Geschrieben am: 12.02.2005 11:43:40

Hallo,

das war der ursprünglich Code:

Sub Formeln_in_Werte_umwandeln()
'
' Formeln_in_Werte_umwandeln Makro
'
'
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub


Bin also davon ausgegangen, dass die gesamte Tabelle bearbeitet werden soll und da ist Copy & paste das Sinnvollste.

Grüße Frank


Bild


Betrifft: Für die ganze Tabelle - Stimmt! o.T. von: Franz W.
Geschrieben am: 12.02.2005 18:14:55




Bild


Betrifft: Danke, Peter! Wieder was dazugelernt!! o.T. von: Franz W.
Geschrieben am: 12.02.2005 18:14:00




 Bild

Beiträge aus den Excel-Beispielen zum Thema "Formeln per VBA in Werte umwandeln"