Das Archiv des Excel-Forums

String einfügen per VBA

Bild

Betrifft: String einfügen per VBA
von: Henning D

Geschrieben am: 26.09.2003 21:02:49

Hallo,
ich habe folgendes Problem:

Ich lese aus einer Excel-Tabelle einen String aus, um nur Teile davon zu verwenden. Der String sieht dann z.B. so aus: Fördersumme: 983.000 €

Ich brauche nur den Zahlenwert. Also schreibe ich zunächst den ganzen Zahlenwert in eine Variable. Mit der Mid-Methode lese ich dann den String ab Position 14 (da der String am Anfang immer gleich aussieht passt das) aus, und schreibe diesen in eine neue Variable. Dieser sieht dann wie folgt aus: 983.000 €.

Füge ich diesen nun wieder in eine Excel Tabelle ein (mit Range(...).Value=Variable), dann wird in der Tabelle nur die Zahl 983 angezeigt. Mit Zahlen welche größer als 1.000.000 sind habe ich keinerlei Probleme. Falls man den "." durch ein "," ersetzt, so erscheint in der Tabelle nur 983000 ohne €-Zeichen.

Hat jemand eine Idee woran das liegen kann?

Gruß,
Henning
Bild


Betrifft: AW: String einfügen per VBA
von: PeterW
Geschrieben am: 26.09.2003 21:11:04

Hallo Henning,

VBA spricht englisch und da ist der Punkt das Dezimaltrennzeichen. Baue den String so um, dass nur der Wert übernommen wird und schreibe in die Tabelle mit Range()=Format(CCur(StringNeu),"#.000 €").

Gruß
Peter


Bild


Betrifft: AW: String einfügen per VBA
von: Henning D
Geschrieben am: 26.09.2003 21:37:13

Hallo Peter,
der Punkte sollte VBA aber da nicht stören, da die Zelle in welche eingefügt wird auch als Textzelle formatiert ist. Also sollte beim Einfügen des Strings auch genau der String eingesetzt werden.

Leider ist der Umbau des Strings wie Du meinst auch nicht so einfach möglich, da es ja auch vorkommen kann das in den letzten 3 Stellen auch noch Werte stehen.

Gruß,
Henning


Bild


Betrifft: AW: String einfügen per VBA
von: PeterW
Geschrieben am: 26.09.2003 21:53:03

Hallo Henning,

willst du Werte oder Texte? Habe mal deinen Text in A1 geschrieben und lasse in D1 den Betrag ausgeben (D1 ist als Standard formatiert):


Sub WertAusString()
Dim str As String
str = Mid(Cells(1, 1), 13, Len(Cells(1, 1)) - 13)
Cells(1, 4) = CCur(str)
End Sub


Gruß
Peter


Bild


Betrifft: AW: String einfügen per VBA
von: Henning D
Geschrieben am: 26.09.2003 22:13:21

Hallo Peter,
ich brauch das ganze nur als String, also als Text. Damit muss nicht weiter gerechnet werden oder sonstiges.

Habe es aber nun so gemacht, das ich die Teile dann doch in ne Currency umwandle.

Vielen Dank für die Hilfe!

Gruß,
Henning


 Bild

Excel-Beispiele zum Thema " String einfügen per VBA"

Nach Textimport Strings in Zahlen wandeln download Textstring in berechenbare Formel umwandeln download
Zahlenstring mit Formel auslesen und Fehlermeldung verhindern download Wertermittlung in Abhängigkeit eines Zeichens in einem String download
Sortierung mit Formel-Leerstrings am Ende download Stringeingaben von HHMM und HHMMSS in Zeit wandeln download
Aufteilen eines Strings mit Zeilenumbrüchen download Aufhebung der Suchstringbegrenzung von 255 Zeichen download
Strings, die wie Zahlen aussehen, in Zahlen umwandeln download Aus einem String mit Datumsangabe das Jahr auslesen download
String mit Prüfziffer über Dialogeingabe erstellen download Teilstrings vergleichen und markieren download