Also bei mir geht's, mit allen Formaten.
An welcher Stelle kommt denn der Fehler? Bei welcher Zelle kommt der und was steht in dieser Zelle drin?
Überlauf sollte eigentlich nicht vorkommen, da die verwendeten Variablen alle vom Typ Variant sind. Kannst ja testweise mal so probieren.
Sub FormatText()
Dim c as Range, txt as String
For Each c In Selection.Cells
txt = Format(c.Value, c.NumberFormat)
c.NumberFormat = "@"
c.Value = txt
Next c
End Sub
Hast du auch schon versucht, erstmal nur einen kleinen Bereich zu markieren und darauf auszuführen?
Gruß Mr. K.