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

Forumthread: variable mit genau zwei nachkommastellen

variable mit genau zwei nachkommastellen
23.12.2006 15:30:59
Bianka
Hallo,
welche Variable muss ich wie definieren, damit sie immer ein numerischer Wert mit zwei Nachkommastellen habe (Vieleicht noch mit 1.000- er Punkt) [in VBA]
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: variable mit genau zwei nachkommastellen
23.12.2006 16:47:56
Peter
Hallo Bianka,
eine Variable kannst du nicht formatieren, das musst du mit deinem Ergebnisfeld machen.
Das kann eine Zelle im Tabellenblatt oder eine TextBox sein, nur wie gesagt:Variable geht nicht.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: variable mit genau zwei nachkommastellen
24.12.2006 10:51:13
Peter
Hallo Bianka,
ein Mini-Makro zum Testen:
'
' in Zelle B2 steht z. B. 1234,567
'

Sub Formatieren()
Dim WertVar  As Double
[B3] = [B2]
WertVar = Format([B2], "#,##0.00")
MsgBox "So sieht die Variable nun aus:  " & WertVar
[B4] = Format(WertVar, "#,##0.00")
[B5] = Format(WertVar, "#,##0.00") * 1 ' damit man damit rechnen kann
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: variable mit genau zwei nachkommastellen
25.12.2006 21:43:08
Bianka
Hallo,
habe es jetz mit folgender Kombination hinbekommen:
zk2 = InStr(1, nettostr, ",")
If zk2 = 0 Then nettostr = nettostr + ",00"
If Len(nettostr) - zk2 = 1 Then nettostr = nettostr + "0"
so kann ich nachdem ich mit den Variablen gerechnet habe die var runden als string umwandeln und mit evtl. nötigen nullen versehen und dann als str an word übergeben.
Danke für die hilfe!
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

Variable mit genau zwei Nachkommastellen in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA sicherzustellen, dass eine Variable immer mit genau zwei Nachkommastellen arbeitet, kannst du folgendes Vorgehen nutzen:

  1. Variable definieren: Lege die Variable als Datentyp Double fest, um mit Dezimalzahlen zu arbeiten.

    Dim WertVar As Double
  2. Wert zuweisen: Hole den Wert aus einer Zelle oder einen anderen numerischen Ausdruck.

    WertVar = [B2]
  3. Formatieren: Verwende die Format-Funktion, um den Wert mit dem gewünschten Zahlenformat und den zwei Nachkommastellen anzuzeigen.

    WertVar = Format(WertVar, "#,##0.00")
  4. Ausgabe: Du kannst den Wert dann in einer Zelle oder einer MessageBox anzeigen.

    MsgBox "So sieht die Variable nun aus: " & WertVar
  5. Rundung: Wenn du mit der Variable rechnen möchtest, solltest du sicherstellen, dass sie die korrekten Werte hat. Du kannst auch eine neue Variable für Berechnungen anlegen.

    [B4] = Format(WertVar, "#,##0.00")
    [B5] = Format(WertVar, "#,##0.00") * 1 ' damit man damit rechnen kann

Häufige Fehler und Lösungen

  • Fehler: Variable zeigt nicht die richtige Anzahl an Nachkommastellen an

    • Lösung: Stelle sicher, dass du die Format-Funktion korrekt anwendest und die Ausgabe in einer Zelle oder MessageBox angezeigt wird.
  • Fehler: Rundung funktioniert nicht wie gewünscht

    • Lösung: Verwende die Round-Funktion, um sicherzustellen, dass die Werte auf zwei Nachkommastellen gerundet werden.
    WertVar = Round(WertVar, 2)

Alternative Methoden

Eine andere Methode, um sicherzustellen, dass Zahlen in Excel-VBA mit zwei Nachkommastellen dargestellt werden, ist die Verwendung von String-Manipulationen:

  1. String-Umwandlung: Wandle die Zahl in einen String um und überprüfe die Anzahl der Kommastellen.

    Dim nettostr As String
    nettostr = CStr(WertVar) ' Wandle die Zahl in einen String um
  2. Nachkommastellen anpassen: Füge Nullen hinzu, wenn weniger als zwei Nachkommastellen vorhanden sind.

    If InStr(1, nettostr, ",") = 0 Then nettostr = nettostr & ",00"
  3. Runden: Verwende die Format-Funktion für die finale Ausgabe.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das alle Schritte zusammenführt:

Sub Formatieren()
    Dim WertVar As Double
    WertVar = [B2] ' Wert aus Zelle B2
    WertVar = Format(WertVar, "#,##0.00") ' Formatieren mit zwei Nachkommastellen
    MsgBox "So sieht die Variable nun aus: " & WertVar
    [B3] = Format(WertVar, "#,##0.00") ' Ausgabe in Zelle B3
End Sub

In diesem Beispiel wird der Wert aus Zelle B2 formatiert und anschließend in einer MessageBox angezeigt.


Tipps für Profis

  • Verwende Option Explicit: Um sicherzustellen, dass alle Variablen deklariert werden, füge Option Explicit am Anfang deines Moduls hinzu.

  • Namen von Variablen: Wähle aussagekräftige Namen für deine Variablen, um den Code verständlicher zu machen.

  • Verwendung von Konstanten: Definiere Konstanten für häufig verwendete Formatierungen, um den Code sauber und wartbar zu halten.


FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der Nachkommastellen dynamisch anpassen?
Du kannst die Anzahl der Nachkommastellen durch einfache Bedingungen und die Format-Funktion anpassen.

2. Gibt es eine Möglichkeit, die Formatierung direkt in einer Zelle anzuwenden?
Ja, du kannst die Zelle direkt formatieren, indem du die NumberFormat-Eigenschaft verwendest, z.B. [B2].NumberFormat = "#,##0.00".

3. Funktioniert das in allen Excel-Versionen?
Ja, die vorgestellten Methoden sind in den meisten Excel-Versionen, die VBA unterstützen, anwendbar.

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