![]() |
| VB 4/6- und VBA-Forum - Beitragsübersicht - |
|
| Von |
Binary91 |
| Datum |
02. März 2015 um 13:04:45 |
| Frage |
Hallo,
ich bin VBA-Neuling und versuche mich gerade an einer simplen Ersetzungs-Routine.
In meiner Beispiel-Tabelle ist die Spalte "D" komplett als Währung (Euro, zwei Nachkommastellen) formatiert und mit Beträgen gefüllt.
Nun möchte ich per VBA eine Routine schreiben, die die Spalte durchsucht und gefundene "." durch "," ersetzt.
Hier mein Ansatz:Option Explicit Option Base 1 Sub validateCells() Sheets(1).Activate Dim i As Integer Dim d_Start, d_Stop As Long d_Start = 2 d_Stop = 1000 For i = d_Start To d_Stop Sheets(1).Range("D" & i).Value = FormatCurrency(Replace(Sheets(1).Range("D2").Value, ".", ",")) Next i End Sub Leider werden beim Blick auf die Beträge viele Warnhinweise mit grünem Pfeil in der Ecke links oben der Zellen angegeben: "Die Zahl in dieser Zelle ist als Text formatiert oder es ist ein Apostroph vorangestellt"
Ich habe auch schon versucht, den Wert der Zellen in der Schleife zuerst in eine separate Variable vom Typ "Currency" einzulesen, aber auch das schlug fehl...
Weiß jemand, warum die Replace-Rückgabewerte trotz Umformatierung als Text gespeichert werden?? 
Liebe Grüße Binary91 |
|
| [ Antwort schreiben | Zurück zum VB 4/6- und VBA-Forum | Forum-Hilfe ] |
|
|
| Letzte Aktualisierung: Sonntag, 13. Dezember 2015 |
|