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

Forumthread: Wertübergabe an Variable ohne Nachkommastellen

Wertübergabe an Variable ohne Nachkommastellen
13.01.2005 11:04:15
Manuel
Hallo,
ich übergebe in einem VBA-Projekt wie folgt einen wert von der variable text2 an die variable wert:
wert = Val(Text2)
Das klappt auch, aber leider schluckt wert die zahl 123,33 nur in Form von 123.
Habe die variable wert ganz oben im projekt so deklariert (es aber auch schon ohne probiert):
Dim wert As Currency
Kann mir jemand sagen, wie ich auch die Nachkommastellen mitübertragen bekomme?
Manuel
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
dim wert as double oT
IngoG
.
AW: klappt leider nicht, immer nur 123
13.01.2005 11:41:05
Manuel
.
AW: Wertübergabe an Variable ohne Nachkommastellen
IngoG
Hallo Manuel,
dann so:

Sub aaaa()
Dim wert As Double
Dim text As String
text = "123,33"
wert = text * 1
MsgBox text & " -> " & wert
End Sub

Anzeige
ODER: wert = CDbl(text) oT
IngoG
.
AW: Geklappt, Vielen Dank
Manuel
.
Danke für die Rückmeldung oT
ingoG
.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Wertübergabe an Variable ohne Nachkommastellen in VBA


Schritt-für-Schritt-Anleitung

Wenn du in einem VBA-Projekt eine Zahl mit Nachkommastellen an eine Variable übergeben möchtest, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Variable deklarieren: Stelle sicher, dass du die Variable als Double oder Currency deklarierst, um Nachkommastellen zu speichern.

    Dim wert As Double
  2. Wert zuweisen: Übertrage den Wert an die Variable. Du kannst die Multiplikation mit 1 oder die Funktion CDbl() verwenden, um den Text in eine Zahl umzuwandeln.

    Dim text As String
    text = "123,33"
    wert = CDbl(text)
  3. Überprüfen: Zeige den Wert mit MsgBox an, um sicherzustellen, dass die Nachkommastellen korrekt übernommen wurden.

    MsgBox text & " -> " & wert

Häufige Fehler und Lösungen

  1. Problem mit dem Datentyp: Wenn du wert als Currency deklarierst und die Zahl in einer anderen Form übergibst, kann das zu Verlust von Nachkommastellen führen. Nutze stattdessen Double.

  2. Falsches Trennzeichen: In einigen Regionen wird das Komma als Dezimaltrennzeichen verwendet. Stelle sicher, dass der Text im richtigen Format vorliegt.

  3. Wert wird auf Integer gerundet: Wenn du Val() verwendest, wird der Wert auf die Ganzzahl gerundet. Vermeide diese Funktion, wenn du Nachkommastellen benötigst.


Alternative Methoden

Neben der Verwendung von CDbl() oder Multiplikation gibt es noch weitere Methoden, um Werte mit Nachkommastellen zu übergeben:

  • CDec(): Diese Funktion konvertiert einen Wert in den Datentyp Decimal, der auch für Geldbeträge nützlich ist.

    wert = CDec(text)
  • Zellenreferenzen: Du kannst auch Werte direkt aus Zellen in Excel einlesen:

    wert = CDbl(Range("A1").Value)

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Wertübergabe in VBA umsetzen kannst:

  1. Beispiel mit CDbl():

    Sub Beispiel1()
       Dim wert As Double
       Dim text As String
       text = "123,45"
       wert = CDbl(text)
       MsgBox "Der Wert ist: " & wert
    End Sub
  2. Beispiel mit Multiplikation:

    Sub Beispiel2()
       Dim wert As Double
       Dim text As String
       text = "123,45"
       wert = text * 1
       MsgBox "Der Wert ist: " & wert
    End Sub

Tipps für Profis

  • Fehlerbehandlung: Implementiere Error-Handling, um sicherzustellen, dass dein Code auch bei falschen Eingaben robust bleibt.

    On Error GoTo Fehler
    wert = CDbl(text)
    Exit Sub
    Fehler:
    MsgBox "Fehler bei der Umwandlung!"
  • Regional Settings: Achte auf die Ländereinstellungen deines Systems, da das Dezimaltrennzeichen variieren kann.

  • Code-Dokumentation: Halte deinen Code durch Kommentare übersichtlich, um die Nachvollziehbarkeit zu gewährleisten.


FAQ: Häufige Fragen

1. Welche Datentypen sollte ich verwenden? Verwende Double oder Currency, um sicherzustellen, dass Nachkommastellen korrekt behandelt werden.

2. Was ist der Unterschied zwischen Val() und CDbl()? Val() wandelt nur Ganzzahlen um und ignoriert Nachkommastellen, während CDbl() den gesamten Wert, einschließlich der Nachkommastellen, umwandelt.

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