Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel VBA "Zahlen" aus Zellen auslesen und nutzen

Excel VBA "Zahlen" aus Zellen auslesen und nutzen
11.10.2018 16:56:35
SteinApfel
Hey ;)
Ich habe ein Problem mit der Verwendung von Zahlen aus Zellen.
Bsp:
Die Zelle B35 hat 2,5 und B38 0,6 drin stehen.
In VBA werden diese jetzt als String erkannt, eine Zeichenkette, aber nicht als Wert.
Ich würde gerne aus dem Komma ein Punkt machen und ebenso mit den Tatsächlich eingegebenen Werten rechnen. Es soll nach wie vor möglich sein die Zahlen mit dem Numbpad einzugeben, also auch mit Komma.
Mein Versuch:
Public Sub CalcEinfach()
'an anderer Stelle in einem Modul sind WindA und WindI als Public as String deklariert.
With Tabelle1
WindA = .range("WindA")
WindI = .range("WindI")
WindA = CDbl(WindA)
WindA = Replace(WindA, ",", ".")
'oder eben direkt kombiniert
WindI = Replace(CDbl(WindI), ",", ".")
End With
End Sub

Ich habe auch die Reihenfolge verändert, dass ich erst Replace gemacht habe und dann CDbl(WindA)
Aber egal wie herum oder in welcher Kombination, es kommt entweder ein ungültiger Wert heraus bzw immer noch ein String oder es wird umgewandelt in eine Zahl, dann aber nicht 2.5 sondern 25 und statt 0.6 wird 6 daraus.
Könnte mir da bitte jemand helfen? Ich komme mit meinen Fähigkeiten und Suchmaschinen nicht mehr weiter... -.-
Vielen Dank für die Bemühungen im Voraus! :)
Gruß
SteinApfel :D

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA "Zahlen" aus Zellen auslesen und nutzen
11.10.2018 17:11:06
ChrisL
Hi
Solange die Variable als String deklariert wurde, bleibt das Ergebnis ein String.
darum...
Dim WindA As Double
WindA = .range("WindA").Value

Ansonsten:
- Welches Dezimaltrennzeichen wurde in den Systemeinstellungen definiert?
- Steht in der Zelle eine Zahl oder Text der wie eine Zahl aussieht (z.B. mit Formel =ISTZAHL() prüfbar)?
- Gibt es Import-Themen aus Text-Datei z.B. von *.csv? (Lösung Local=True/False)
cu
Chris
AW: Excel VBA "Zahlen" aus Zellen auslesen und nutzen
11.10.2018 17:44:49
SteinApfel
Okay, mit WindI as Double sowie WindA und range("WindI oder WindA").value rechnet VBA jetzt immerhin vernünftig.
Die Eingabe sowie Ausgabe sind Kommadezimalzahlen, ebenso ist das im System eingestellt.
Also die Zellen habe ich als Zahl formatiert, somit sollte auch eine Zahl drin stehen.
Ich bin nur davon ausgegangen, da VBA an sich mit Punktdezimalzahlen rechnet, dass es in diesem Fall wieder so sei. Aber da habe ich mich wohl geirrt. Es wird alles mit Komma gerechnet.
Import gibt es nichts, ich öffne die Mappe, gehe auf die Tabelle und gebe jedes mal manuell die Zahlen ein. Es wird nichts eingelesen oder so.
Anzeige
AW: Excel VBA "Zahlen" aus Zellen auslesen und nutzen
11.10.2018 17:55:09
ChrisL
Hi
Du hast dich nicht geirrt. VBA rechnet intern mit Punkt z.B.
Dim x As Double
x = 1
x = x + 0.5
MsgBox x
Aber solange in der Zelle ein echter Zahlenwert steht, wird auch direkt ein Wert/Value übernommen, unabhängig von der Formatierung.
Etwas mehr Aufmerksamkeit braucht es bei Text-Datei Export/Import.
cu
Chris
AW: Excel VBA "Zahlen" aus Zellen auslesen und nutzen
11.10.2018 18:56:53
SteinApfel
Alles klar, danke für die Informationen. :)
Bin froh, dass VBA jetzt rechnet und das sogar richtig :D
Schönen Abend noch.

391 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige