Veröffentlicht 8. September 200619 j Hallo zusammen, wie kann ich denn mit VBA aus einem String (z.B. "Spalte1=22; Saplte2= 1/940/60-12000 ") die Sonderzeichen entfernen und gleichzeitig 2 Spalte zusammenfügen? Ergebnis Spalte3= "2219406012000" (ohne Blanks!) Vielen Dank im voraus! AHNUNG?
8. September 200619 j mit replace kannst du zeichen ersetzen! in dem fall musst du halt ein / mit "" ersetzen
8. September 200619 j Autor Hallo, habe ich gemacht. Mein Code: Selection.Replace what:="/", replacement:="" Ursprung: 1/687/22/16/0002022/20 Ergebnis: 16872216000202200 Wo ist denn die letzte "2" geblieben???? und warum habe ich dafür eine "0". Ist das logisch?? Die führenden "00" möchte ich auch nicht verlieren (006154650-9 soll nicht 61546509 werden!)
8. September 200619 j so wirds gemacht Dim s As String s = Replace("1/687/22/16/0002022/20", "/", "")
11. September 200619 j Autor Hallo, das kann ich nicht verstehen. Ich habe eine Variable (s) den ich den Wert ("1/640/22/16/0005366/20") zuweise. Dann findet, wie beschrieben, ein Replace statt. In der Variablen steht dann ("16402216000536620"). Wenn ich diesen Wert dann an eine Zelle übergebe (Cells(zeile, spalte).Value = s) steht in der Zelle "16402216000536600)
11. September 200619 j evtl hast du deine spalte in excel dementsprechend formatiert... mit rechtsklick formatierung oder so kannst du einstellen, ob ein text, eine zahl, usw angezeigt werden soll; spiel mal da bisl rum...
11. September 200619 j Autor Danke, habe ich schon gemacht. Es handelt sich um eine Zahl mit 17 Stellen. Hat Excel damit eventuelle Probleme???? Gruß AHNUNG?
11. September 200619 j Es handelt sich um eine Zahl mit 17 Stellen. Hat Excel damit eventuelle Probleme????Excel vermutlich nicht, aber möglicherweise die VBA-Implementierung. Musst du denn mit dieser Zahl rechnen? Sonst formatier die Zelle doch einfach als Text.
11. September 200619 j Autor VBA kann ich mir nicht wirklich vorstellen, da mir die Zahl im Debug-Modus ja richtig angezeigt wird. Wenn ich das Feld auf "Text" umformatiere, kann ich men Ergebnis auch nicht anfangen (1,64022E+16).
11. September 200619 j VBA kann ich mir nicht wirklich vorstellen, da mir die Zahl im Debug-Modus ja richtig angezeigt wird.Da ist es vermutlich noch ein String. Irgendwo unterwegs wird aber offenbar ein Double draus gemacht.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.