Seite 1 von 1

Berechnungen in VBA

Verfasst: Sa Jan 04, 2003 1:21 pm
von Ironman
Hi,
ich bekomme in einer Aplication bei einer Abfrage einen Zahlenwert mit Komma zurück (z.B. 0,03). Da ich mit diesem Wert gerne eine Berechnung durchlaufen würden brauche ich wohl eher einen Wert mit Punkt (z.B. 0.03).
Ich bin kein Profi in VBA, aber bei Komma Werten kommt halt immer der Fehler ""Type Mismatch"".
Wenn das Problem da liegt, wie kann ich aus dem Komma einen Punkt machen, bzw. VBA beibringen auch mit Kommawerten zu rechnen.

Schon mal Danke

Ironman

Verfasst: Sa Jan 04, 2003 1:50 pm
von Logan86
ALso wenn deine Berechnungen im Dezimalsystem stattfinden sollen dann müsstest du nur deinen Kommawert alo ZB 0,03 mal 100 nehmen, dann ihn durch die Berechnung laufen lassen und das Ergebnis wieder durch Hundert dividieren.

Verfasst: Sa Jan 04, 2003 5:26 pm
von SyMbiOnT
meine vb zeiten sind etwas her, aber das ist viel einfacher als man denkt, ich weiss nur net mehr wie :D
Schreib doch einfach mal ein bisschen source hierein, vieleicht können wir dann helfen.

Verfasst: So Jan 05, 2003 12:09 am
von Ironman
Hi,

@Logan86
die Idee mit dem mal 100 hatte ich auch, aber da der Wert erst gar nicht als Zahlenwert (zb. as Double) anerkannt wird, kann ich ihn auch nicht multiplizieren. Ich würde dann einen String mal 100 nehmen.

@SyMbiOnT
ich kann hier gerne ein paar Zeilen source reinsetzen, nur würde das wohl nicht viel bringen. Ich arbeite an einem Macro für ein Prg. das wohl nicht so viele kennen. Außerdem hat der source nicht viel mit meinem Problem zu tun. Ich bekommen halt einen Kommerwert, und mit dem kann ich halt nichts anfangen.
Der source dafür:
-------------------------schnipp--------------------
Set length4 = parameters1.CreateReal(""`Länge.4`"

Verfasst: So Jan 05, 2003 7:24 am
von LostTemplar
Ich hab zwar seit Ewigkeiten nich mehr mit Basic programmiert, aber schau halt mal in der Hilfe nach nem Befehl, der ein Zeichen durch anderes ersetzt... den rufst du dann halt auf, dass er Kommas durch Punkte ersetzt... so nen Befehl gibts 100%, ansonsten is VB noch schlimmer als ich dachte ^0^
Und im Notfall mussu sowas halt selbst programmieren, weiß aber nicht mehr wie Strings in Basic gehandelt werden...

Verfasst: So Jan 05, 2003 1:21 pm
von Ironman
Nach genau so einem Befehl suche ich. Und ich bin auch der Meinung das es sowas geben müßte. Aber gefunden habe ich ihn bis jetzt noch nicht.
Ich würde sowas ja auch zur Not selber programmieren, aber da fehlen mir noch ein paar Kentnisse. Aber ich arbeite daran.
Und das VB nicht unbedingt die beste Sprache ist, darüber brauchen wir nicht zu diskutieren. Aber ich kann halt nur VB Script oder VBA benutzen. Und da ziehe ich halt VBA vor.

Ironman

Verfasst: So Jan 05, 2003 3:05 pm
von Logan86
Den Befehl gibts! Das kann ich dir mit 100%iger sicherheit sagen! Hab nochmal nachgedacht und da is mir eingefallen, dass wir auch schonmal in der Schule irgendwas mit dem Befehl gemacht haben, aber leider is das schon ne Weile her und ich hab schonwieder vieles in VB vergessen! :cry:

Verfasst: So Jan 05, 2003 6:39 pm
von XTale
replace(""Ich bin ein blöder string."" ""."" "

Verfasst: Mo Jan 06, 2003 9:30 pm
von Ironman
Danke, so ging es fast.
Mit der Funktion 'Replace' kann man zwar Zeichen in einem String durch ein anderes Zeichen ersetzte, aber danach muß denn dieser String wiederum in eine Zahl umgewandelt werden.
Das kan man mit
CDbl(Ich bin ein blöder string)
machen.

Also, danke an alle die sich meinem Probelm angenommern haben.

Ironman