Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Über VBA soll nur der Wert gelesen werden

Forumthread: Über VBA soll nur der Wert gelesen werden

Über VBA soll nur der Wert gelesen werden
26.05.2025 13:42:38
Willi
Hallo,

ich habe in Zelle L3 einen Wert, der IMMER! in der Form "170,78 Eur" eingelesen wird. Es macht also keinen Sinn eine Formel auf die Zelle zu legen, da beim nächsten Update die wieder verschwindet.

Also VBA:

Bisher habe ich etwas getrickst, was mir aber hin und wieder die Programmierung zerschießt. Nun möchte ich am liebsten, daß dieser Befehl:
Worksheets("XY").Range("D" & I + 1) = Worksheets("GV").Range("L3")

die ersten Zeichen (ist ein Komma mit drin s.o.) bis zum Blank in "L3" in der Programmierung wieder gibt.

Vielleicht suche ich falsch, aber ich finde immer nur die Zellenformel "=LINKS(...FINDEN...)". das funktioniert, aber, wie gesagt, beim nächsten Durchlauf ist die Formel halt wieder futsch.

Weiß jemand einen Weg?

Willi

PS: ich hatte schon eine Möglichkeit gefunden, die dann über eine Schleife Zeichen für Zeichen bis zum Blank ausliest, aber DAS kann es doch nicht sein oder?

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Über VBA soll nur der Wert gelesen werden
26.05.2025 13:53:03
Yal
Hallo Willi,

Excel versucht zunehmend intelligent zu sein, und übernimmt manchmal einige Aufgaben, wie z.B., dass "170,78 EUR", was eigentlich ein Text ist, als Wert + Wahrungszeichen zu verstehen.
Daher hast Du vielleicht in der Zelle L3 eine Zahl, obwohl es als Text übergeben wurde.

Der Trick besteht daran, VBA zu zwingen, den Inhalt als Text anzunehmen, den "EUR" zu bereinigen und anschliessend daraus die Zahl zu extrahieren.

Sub Test()

Dim Inhalt As String
Inhalt = CStr(Worksheets("GV").Range("L3").Value) 'Aufnahme der Inhalt als Text
Inhalt = Replace(UCase(Inhalt), "EUR", "") 'Bereinigung von einem ev. "EUR"
Worksheets("XY").Range("D" & I + 1) = CDbl(Inhalt) 'Umwandlung in Kommazahl
End Sub


VG
Yal
Anzeige
AW: Über VBA soll nur der Wert gelesen werden
26.05.2025 13:56:23
Jowe
Hallo Willi,
so vielleicht:
Sub splitten()

Dim w As Variant
Dim a As Long
w = Split(Range("L3"), " ")
For a = 0 To UBound(w)
If IsNumeric(w(a)) Then Range("M3") = w(a) * 1
Next
End Sub

Gruß
Jochen
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige