CSV-Import - Format - Wechseln per VBA mit Formatänderung

12/10/2007 - 15:42 von Frank Vellner | Report spam
Liebe Gruppe,

ich habe Rohdaten in denen Dollar-Betràge in der Art "$0,50" in einer
CSV vorkommen. Excel macht daraus natürlich keine Zahl sondern
"Standard". In der offenen CSV gehe ich über Berbeiten/Wechseln und
tausche alle "$" gegen nichts. Das funktioniert prima und Excel
betrachtet die überiggebliebene Zahl auch wirklich als Zahl. Soweit so
gut.

Möchte ich nun den selben Vorgang an ein Makro hàngen, geht er nicht
mehr. Excel tauscht zwar aus, zeigt aber viele tausend "kleine grüne
Dreiecke" mit dem Warnhinweis "als Text gespeicherte Zahl" ... an.

Als ich dieses Problem vor einiger Zeit hier postete, kam folgender
Vorschlag:

Binde einfach das Einfügen als Werte noch mit ein - IMO müsste
folgendes
helfen:
Sub Makro4()
With ActiveSheet.UsedRange.Cells
.Replace What:="$", _
Replacement:="", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
.NumberFormat = "General"
.Value = .Value
End With
End Sub

Das funktioniert aber nicht. Erstens ist das Resultat keine Zahl. Die
gründen Dreiecke sind wieder da und das explizite formatieren als Zahl
hilft auch nicht. Zweitens werden zusàtzlich noch alle anderen, von
Excel richtig erkannten Formate wie Datum plötzlich wieder als
fortlaufende Zahl dargestellt. Sicherlich könnte man das wieder zurück
formatieren... aber es muss doch auch irgendwie einfacher gehen, oder?

Viele Grüße
Frank
 

Lesen sie die antworten

#1 Alexander Wolff
12/10/2007 - 16:13 | Warnen spam
Sub Makro4()
With ActiveSheet.UsedRange.Cells
.Replace What:="$", _
Replacement:="", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
.NumberFormat = "General"
.Value = .Value



Versuch mal
.Value = .Value * 1

End With
End Sub



Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen