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

Forumthread: VBA Excel - Problem mit NumberFormat

VBA Excel - Problem mit NumberFormat
10.11.2007 19:08:21
Thomas
Huhu Zusammen, ich versuche eine Zelle in Excel und VBA aus Excel 2000 eine Zelle als Währung zu formatieren.
Die Währung sollte dynamisch sein und kommt später aus einer Combobox.
Mein Codeschnipsel:

Dim waehrung as string
waehrung = "EUR"
Worksheets("Tabelle1").Range("A1:A5").NumberFormat = "#,##0.00 \" & waehrung

Ist die Variable waehrung mit "EUR" wie im Beispiel befüllt oder setze ich "SFR" ein, funktioniert die Formatierung, wenn ich allerdings "USD" oder "YEN" eingebe, bekomme ich eine Fehlermeldung:
Laufzeitfehler: 1004 - Die NumberFormat-Eigenschaft, des Range-Objektes kann nicht festgelegt werden.
Kann mir jemand schreiben wo der Fehler ist?
Habt Dank auf bald
Thomas

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Excel - Problem mit NumberFormat
10.11.2007 19:30:00
Daniel
Hi
das liegt wahrscheinlich daran, daß Excel Deutschland nur deutschprachige Währungsbezeichnungen kennt, und nur diese in verbindung mit Zahlenformaten akzeptiert.
willst du allgemeinen Text in ein Zahlenformat einbauen, sollte dieser in der Formatdefinition in Anführungszeichen gesetzt werden.
in VBA ist zu beachten, daß bei Formeln, die Anführungszeichen enthalten, diese verdopplet werden müssen, um sie von den Anführungszeichen, die das Stringende bedeuten, unterscheiden zu können.
dein Befehl siehet dann so aus:
Worksheets("Tabelle1").Range("A1:A5").NumberFormat = "#,##0.00 ""\" & waehrung & """"
Gruß, Daniel

Anzeige
AW: VBA Excel - Problem mit NumberFormat
10.11.2007 20:01:00
Thomas
Huhu Ihr beiden,
vielen Dank für eure Hilfe! Beide eurer beiden Beiträge haben wir weitergeholfen und ich habe wieder etwas gelernt :)

AW: VBA Excel - Problem mit NumberFormat
10.11.2007 19:36:04
Tino
Hallo,
Dim waehrung as string
waehrung = "EUR"
Worksheets("Tabelle1").Range("A1:A5").NumberFormat = "#,##0.00 [$" & waehrung & "]"
Gruss
Tino
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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

Formatierung von Währungen in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel mit VBA als Währung zu formatieren, kannst du folgenden Code verwenden:

Dim waehrung As String
waehrung = "EUR"
Worksheets("Tabelle1").Range("A1:A5").NumberFormat = "#,##0.00 """ & waehrung & """"

Dieser Code setzt das NumberFormat einer Zelle auf das Währungsformat mit zwei Dezimalstellen. Achte darauf, dass der Währungsbezeichner in Anführungszeichen gesetzt ist, um in der Formatdefinition als Text zu erscheinen.

Wenn du eine dynamische Währung verwenden möchtest, die aus einer Combobox stammt, stelle sicher, dass du die Eingabe korrekt übernimmst.


Häufige Fehler und Lösungen

Ein häufiger Fehler, auf den du stoßen kannst, ist der Laufzeitfehler 1004. Dieser tritt auf, wenn du versuchst, eine Währung zu verwenden, die von Excel nicht erkannt wird.

Lösung: Stelle sicher, dass die Währungsbezeichnungen, die du verwendest, in Excel anerkannt sind. In Deutschland beispielsweise werden nur deutschsprachige Währungsbezeichnungen akzeptiert.

Wenn du eine Währung wie "USD" oder "YEN" verwendest und darauf einen Fehler erhältst, solltest du den Währungsbezeichner in Anführungszeichen setzen und wie folgt formatieren:

Worksheets("Tabelle1").Range("A1:A5").NumberFormat = "#,##0.00 """ & waehrung & """"

Alternative Methoden

Ein alternativer Ansatz zur Formatierung von Währungen in Excel mit VBA könnte die Verwendung von eckigen Klammern sein. Hier ist ein Beispiel:

Dim waehrung As String
waehrung = "EUR"
Worksheets("Tabelle1").Range("A1:A5").NumberFormat = "#,##0.00 [$" & waehrung & "]"

Diese Methode kann nützlich sein, wenn du sicherstellen möchtest, dass die Währung korrekt angezeigt wird, ohne dass Excel einen Fehler ausgibt.


Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung von VBA zur Formatierung von Zellen in Excel:

  1. Dezimalzahlen formatieren:

    Worksheets("Tabelle1").Range("B1:B5").NumberFormat = "0.00"
  2. Währung dynamisch aus einer Combobox setzen:

    Dim waehrung As String
    waehrung = ComboBox1.Value
    Worksheets("Tabelle1").Range("A1:A5").NumberFormat = "#,##0.00 """ & waehrung & """"
  3. Allgemeines Zahlenformat:

    Worksheets("Tabelle1").Range("C1:C5").NumberFormat = "General"

Tipps für Profis

  • Nutze die .NumberFormat-Eigenschaft sparsam, um die Leistung deines Codes zu verbessern. Zu viele Formatierungen können den Code verlangsamen.
  • Verwende Range("A1:A5").Value in Kombination mit NumberFormat, um sicherzustellen, dass die Werte korrekt interpretiert werden.
  • Teste deine Formate in einer kontrollierten Umgebung, bevor du sie auf ein großes Datenblatt anwendest.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen "NumberFormat" und "NumberFormatLocal"? NumberFormat verwendet das in Excel installierte Standardformat, während NumberFormatLocal die lokalisierten Formate verwendet.

2. Wie kann ich sicherstellen, dass ein Zahlenformat in VBA funktioniert? Überprüfe, ob die verwendeten Währungsbezeichnungen in Excel anerkannt sind. Verwende im Zweifelsfall Anführungszeichen und teste die Formatspezifikation in einem kleinen Bereich.

3. Ist es möglich, mehrere Formate gleichzeitig anzuwenden? Ja, du kannst verschiedene Formate auf verschiedene Bereiche oder Zellen anwenden, indem du mehrere .NumberFormat-Aufrufe machst.

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