Herbers Excel-Forum - das Archiv

Ersetzen - mal wieder ein Problem

Bild

Betrifft: Ersetzen - mal wieder ein Problem
von: steve

Geschrieben am: 02.03.2005 08:52:33
Hallo,
ich möchte gerne per Makro in ein paar Zellen ein , durch einen . ersetzen.
Ich weiß zwar, dass das hier schon ein paar Mal durchgekaut wurde, allerdings finde ich nichts so richtiges was auf mein Problem passt. Ich würde eben gerne nicht die ganze Tabelle ersetzen sondern nur den Bereich A3:A50 z.B.
Wie geht das?
MfG
Steve
Bild

Betrifft: AW: Ersetzen - mal wieder ein Problem
von: c0bRa

Geschrieben am: 02.03.2005 08:57:02
hio...
folgende formel in ne hilfszelle z.b. b3:
=WECHSELN(A4;".";",")
danach b3:b50 kopieren, a3 markieren, bearbeiten inhalte einfügen, werte...
schon sollte es gehen ;)

Das Forum lebt auch von Rückmeldungen...
c0bRa
Bild

Betrifft: AW: Ersetzen - mal wieder ein Problem
von: Slugger
Geschrieben am: 02.03.2005 08:57:06
Machst so, indem du einen Bereich definierst. Z. B.

Range("A1:G15").select
Bild

Betrifft: AW: Ersetzen - mal wieder ein Problem
von: steve
Geschrieben am: 02.03.2005 09:20:51
Ich bin ein blutiger Anfänger... bitte um Hilfe:
Sub ersetzen()
Range("A3:A50").Select
Cells.Replace What:=",", Replacement:="", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False
End Sub

Bild

Betrifft: AW: Ersetzen - mal wieder ein Problem
von: bst

Geschrieben am: 02.03.2005 09:26:51
Hallo Steve,
beinahe. Damit kannst Du aber noch kein Komma innerhalb einer Zahl ersetzen.
HTH, Bernd
--
Sub ersetzen()
Range("A3:A50")..Replace What:=",", Replacement:="", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False
End Sub

Bild

Betrifft: AW: Ersetzen - mal wieder ein Problem
von: steve
Geschrieben am: 02.03.2005 10:12:52
Toll und wie mache ich das, dass ich dieses blöde Komma endlich wegbekomme?
Bild

Betrifft: AW: Ersetzen - mal wieder ein Problem
von: bst

Geschrieben am: 02.03.2005 11:02:09
Hallo Steve,
zuerst mal die Korrektur von oben.
Man sollte halt einfach nichts posten, ohne es getestet zu haben.
Dieses geht NUR mit Texten, nicht mit Zahlen:
Sub ErsetzenInText()
Range("A3:A50").Replace What:=",", Replacement:=".", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False
End Sub

Warum ?
IMHO wird eine Zahl (z.B. 1,2) hier zuerst in einen String gewandelt -> "1,2"
Dann wird das Komma durch einen Punkt ersetzt -> "1.2"
Vor dem Zurückschreiben erkennt Excel hier eine Zahl (im VBA sind Zahlen im US-Format!)
und wandelt diese wieder zurück -> 1.2
Diese Zahl wird nun unter Berücksichtigung des landesspezifischen Trennzeichens zurück
in die Zelle geschrieben. Womit Du wieder ein Komma hast ;-)
So sollte es gehen. Ohne Schleife habe ich es nicht hinbekommen.
Übrigens, ich hab's auf einem deutschen xl2000 verbrochen...
cu, Bernd
--
Sub Ersetzen()
Dim cell As Range
For Each cell In Range("A3:A50")
cell.NumberFormat = "@"
cell.Value = CStr(Replace(cell.Value, ",", "."))
Next
End Sub

Bild

Betrifft: AW: Ersetzen - mal wieder ein Problem
von: GeorgK
Geschrieben am: 02.03.2005 11:03:47
Hallo,
versuchs mal hiermit:
Sub umformatieren()
Range("A3:A35").Select
With Application
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = False
End With
Columns(1).NumberFormat = "0.00"
End Sub

Grüße
GeorgK
Bild

Betrifft: AW: Ersetzen - mal wieder ein Problem o.T.
von: steve
Geschrieben am: 02.03.2005 11:11:18
Vielen leiben Dank.
 Bild
Excel-Beispiele zum Thema "Ersetzen - mal wieder ein Problem"
Einige Zeilen in einer sequentiellen Datei ersetzen Alle #DIV/0!-Fehlerwerte in Tabelle durch 0 ersetzen
Zellkontextmenü durch Jahreskalender ersetzen Suchen in 2. Tabelle und Ersetzen der Quelldaten
Tabellen vergleichen und Zeilen ersetzen Errechneten Wert durch nächsthöheren ersetzen
Wert aus Gültigkeitsliste durch eine Zahl ersetzen Bundesländernamen durch Abkürzungen ersetzen
Telefonnumern mit Liste vergleichen und durch Namen ersetzen Doppelt vorkommende Anführungszeichen in Textdatei ersetzen