HERBERS Excel-Forum - das Archiv
Zellformat ändern dabei Formel aktualisieren
Lutz

Hallo,
wenn ich eine Zelle von Textformat auf Standartformat ändere, wird die darin befindliche Formel nicht berechnet.
Hat jemand eine Idee, wie ich dies per makro realisieren kann?
Siehe Beispieldatei.
https://www.herber.de/bbs/user/66685.xls
M.f.G.
Lutz

AW: Zellformat ändern dabei Formel aktualisieren
Hajo_Zi

Hallo Lutz,
Text kannst du formatieren wie Du willst es bleibt Text. Da hilft meist nur Multiplikation mit 1 oder Text in Spalten.

AW: Zellformat ändern dabei Formel aktualisieren
Lutz

Hallo Hajo,
danke für den Tip.
m.f.G.
Lutz
AW: Zellformat ändern dabei Formel aktualisieren
Gerd

Hallo!
Sub v()
Dim x
x = Range("D8").Value
Range("D8").NumberFormat = "general"
Range("D8").Formula = x
End Sub
Gruß Gerd
AW: Zellformat ändern dabei Formel aktualisieren
Lutz

Hallo Gerd,
danke für deinen Hinweis,
ist eine gute Alternative, wenn schon die Aktualisierung nicht möglich ist. (:-)
M.f.G.
Lutz
Das geht wohl, war auch unlängst...
Luc:-?

...mal in einem Forumsthread angedeutet worden, Lutz...
Gleichheitszeichen bzw ganze Fml austauschen müsste es bringen. Das wäre dann so wie Anklicken...
Also ...Formula = ...Formula bzw ...Formula = "=" & Mid(...Formula, 2); bei ...Calculate bin ich nicht so sicher, ob das klappt. Wenn das nur eine Zelle ist, berechnet xl sicher das ganze Blatt und möglicherweise bleibt die Fml trotzdem inaktiv.
Manuell wäre das mit Ersetzen - = durch = zu vgln. Wenn die Fml dadurch aktiv wird, sollte das auch wie vorgeschlagen klappen.
Gruß Luc :-?
AW: Das geht wohl, war auch unlängst...
Lutz

Hallo Luc,
Du hast recht, dass funktioniert mit einer Zelle (siehe unten), nur für das ganze Arbeitsblatt müsste ich ja jede Zelle abfragen und ich dachte, dass mann das umgehen kann.
Trotzdem danke für Deinen Hinweis.
Option Explicit
Dim intz1 As Integer
Dim mark As Range
Dim strg1 As String
'
'=============================================
'Format Text oder Standard
'=============================================
'
Public Function Zellformat()
Set mark = ActiveCell
'Zellen Textformat
If Worksheets("Tabelle1").OptionButton1 = True Then
intz1 = 1
Worksheets("Tabelle1").Cells(7, 3) = "alle Zellen Textformat"
End If
'Zellen Standard
If Worksheets("Tabelle1").OptionButton2 = True Then
intz1 = 2
Worksheets("Tabelle1").Cells(7, 3) = "alle Zellen Standardformat"
End If
If intz1 = 1 Then
With Range("A1:IV65536")
.NumberFormat = "@"
End With
strg1 = Worksheets("Tabelle1").Range("C14").Formula
Worksheets("Tabelle1").Range("C14").Formula = strg1
Else
With Range("A1:IV65536")
.NumberFormat = "General"
End With
strg1 = Worksheets("Tabelle1").Range("C14").Formula
Worksheets("Tabelle1").Range("C14").Formula = strg1
End If
mark.Activate
End Function
M.f.G.
Lutz