Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: String in Double konvertieren

String in Double konvertieren
13.09.2005 16:02:35
Riceman
hi,
ich habe eine Zahl als String vorliegen. Es handelt sich um eine Zahl mit einem "." als Dezimaltrennzeichen. Wie kann ich mit dieser im Programmcode weiterrechnen? Der "." ist als Dezimaltrennzeichen eingestellt, doch wenn ich die Zahl als Double speichere, wird der . stets behandelt, als wäre er nicht da.
Vielen Dank schonmal!
MfG
Mario
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
b = Val(a)
13.09.2005 16:35:20
Andi
Schönen Gruß,
Andi
AW: b = Val(a)
14.09.2005 08:32:33
Riceman
wow, danke!!!
jetzt mal ne allgemeine frage: wo bekommt man solche infos her? es kann doch eigentlich nicht sein, daß ich die vba-hilfe nach "string double" durchsuche und diese funktion nicht finde :( es kann doch nicht sein, daß ich wegen jedem sch*** jemanden in einem forum nerven muß... :-/
Anzeige
Gern geschehen... (mt)
14.09.2005 09:31:43
Andi
Hi,
also ich weiss quasi alles, was ich über VBA weiss, aus diesem Forum; aber nicht nur, und nichtmal hauptsächlich, durch Fragen, sondern durch mitlesen.
Als ich vor gut zwei Jahren mit VBA anfing, hab ich natürlich realtiv häufig Fragen hier reingestellt, aber ich hab auch jeden Tag mindestens eine Stunde damit verbracht, Fragen von anderen zu lesen und dann versucht, selbst Lösungen dafür zu finden. Die hab ich dann natürlich anfangs noch nicht gepostet, sondern mit den Lösungen der Profis verglichen. Dabei lernt man mehr als durch 1km Bücher...
Und bei konkreten Fragestellungen hilft auch die Recherche des Forums oft sehr gut weiter.
Schönen Gruß,
Andi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

String in Double konvertieren


Schritt-für-Schritt-Anleitung

Um einen String in ein Double in Excel VBA umzuwandeln, kannst du die Funktion Val verwenden. Diese Funktion konvertiert einen String, der eine Zahl darstellt, in einen numerischen Wert. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "Projekt" im Projektfenster und wähle "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Sub StringInDoubleUmwandeln()
       Dim a As String
       Dim b As Double
    
       a = "1234.56"  ' Beispiel-String
       b = Val(a)     ' Konvertiere String in Double
    
       MsgBox "Der konvertierte Wert ist: " & b
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen. Ein Dialogfeld zeigt den konvertierten Wert an.


Häufige Fehler und Lösungen

  1. Problem: Der Punkt wird nicht als Dezimaltrennzeichen erkannt.

    • Lösung: Stelle sicher, dass dein Excel so konfiguriert ist, dass es den Punkt als Dezimaltrennzeichen verwendet. Du kannst dies in den Excel-Optionen unter "Erweitert" überprüfen.
  2. Problem: Val gibt 0 zurück.

    • Lösung: Überprüfe den String. Wenn der String nicht mit einer Zahl beginnt oder nicht korrekt formatiert ist, wird Val 0 zurückgeben.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, einen String in Double umzuwandeln. Eine Möglichkeit ist die Verwendung der CDbl-Funktion:

b = CDbl(a)

Diese Funktion ist nützlich, wenn du sicher bist, dass der String korrekt formatiert ist und als Double interpretiert werden kann.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du Strings in Double umwandeln kannst:

  1. Beispiel mit verschiedenen Zahlen:

    Sub Beispiele()
       Dim a1 As String
       Dim a2 As String
       Dim b1 As Double
       Dim b2 As Double
    
       a1 = "10.25"
       a2 = "100.5"
    
       b1 = Val(a1)
       b2 = Val(a2)
    
       MsgBox "Erstes Beispiel: " & b1 & vbCrLf & "Zweites Beispiel: " & b2
    End Sub
  2. Beispiel mit Fehlerbehandlung:

    Sub StringInDoubleMitFehlerbehandlung()
       Dim a As String
       Dim b As Double
    
       a = "abc.123"  ' Ungültiger String
    
       On Error Resume Next
       b = Val(a)     ' Konvertiere String in Double
    
       If Err.Number <> 0 Then
           MsgBox "Fehler bei der Konvertierung!"
       Else
           MsgBox "Der konvertierte Wert ist: " & b
       End If
       On Error GoTo 0
    End Sub

Tipps für Profis

  • Verwende CStr und CDbl: Um einen Double-Wert in einen String umzuwandeln, nutze CStr, z.B. Dim strWert As String: strWert = CStr(b).
  • Formatiere Zahlen: Nutze die Formatierungsmöglichkeiten in VBA, um sicherzustellen, dass die Ausgabe dem gewünschten Format entspricht.
  • Debugging: Nutze Debug.Print in deinen Makros, um die Werte während der Ausführung zu überprüfen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich sicherstellen, dass der String korrekt formatiert ist?
Antwort: Überprüfe die Zeichen im String und stelle sicher, dass er nur Zahlen und ein Dezimaltrennzeichen enthält.

2. Frage
Kann ich auch andere Datentypen mit Val umwandeln?
Antwort: Val ist speziell für die Umwandlung von Strings in numerische Werte gedacht. Für andere Datentypen solltest du entsprechende Funktionen wie CInt, CLng oder CStr verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige