Live-Forum - Die aktuellen Beiträge
Datum
Titel
20.06.2025 08:39:33
19.06.2025 20:41:29
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Punkt oder Komma auslesen

Punkt oder Komma auslesen
03.03.2005 13:04:45
Thomas
Hi,
ist es möglich mit VBA auszulesen welches Zeichen ("." oder ",") als Dezimaltrennzeichen von Excel bzw. vom Betriebssystem verwendet wird?
danke
Tom
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Punkt oder Komma auslesen
03.03.2005 13:14:30
IngoG
Hallo tom,
anbei ein Auszug aus der onlinehilfe
Gruß Ingo
In diesem Beispiel wird "1.234.567,89" in Zelle A1 platziert. Die Systemtrennzeichen werden dann für die Dezimal- und Tausendertrennzeichen in Striche geändert.

Sub ChangeSystemSeparators()
Range("A1").Formula = "1,234,567.89"
MsgBox "The system separators will now change."
' Define separators and apply.
Application.DecimalSeparator = "-"
Application.ThousandsSeparator = "-"
Application.UseSystemSeparators = False
End Sub

Anzeige
AW: Punkt oder Komma auslesen
03.03.2005 13:14:53
Martin
Hallo Tom,
Application.UseSystemSeparators = True 'False
kannst Du einstellen, ob das Dezimaltrennzeichen vom Betriebssystem übernommen wird oder in Excel eingestellt wird und mit
MsgBox Application.DecimalSeparator
gibst Du es aus.
Gruß
Martin Beck
AW: Punkt oder Komma auslesen
03.03.2005 13:32:35
bst
Auch Hallo,
und was machen 'arme xl2000 Benutzer' wie ich ? ;-)
Gruß, Bernd
Anzeige
AW: Punkt oder Komma auslesen
03.03.2005 14:59:41
K.Rola
Hallo,
recherchiere mal, ich hab kürzlich eine Lösung mit API-Funktionen ins Forum
gestellt.
Gruß K.Rola
AW: Punkt oder Komma auslesen
03.03.2005 15:38:01
bst
Nochmals Hallo,
womit Du mich in arge Verlegenheit bringst ...
Ich finde es einfach nicht.
Deine "Sub KommaPunkt" hab' ich gefunden, und auch viele andere interessante Teile von Dir.
Ein weiterer Hinweis vielleicht noch ?
Dankeschön,
Bernd
Anzeige
AW: Punkt oder Komma auslesen
03.03.2005 16:02:58
K.Rola
Hallo,
hier nochmal der Code:
Option Explicit
Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Declare Function GetCurrencyFormat Lib "kernel32" Alias "GetCurrencyFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, lpFormat As Any, ByVal lpCurrencyStr As String, ByVal cchCurrency As Long) As Long
Const LOCALE_SDECIMAL = &HE
Const LOCALE_STHOUSAND = &HF
Sub Tausender()
Dim lngID As Long, lngCVal As Long, msg As String
lngCVal = GetUserDefaultLCID()
msg = String(255, 0)
Call GetLocaleInfo(lngID, LOCALE_STHOUSAND, msg, 255)
msg = Left$(msg, InStr(msg, Chr(0)) - 1)
MsgBox msg
End Sub
Sub Dezimal()
Dim lngID As Long, lngCVal As Long, msg As String
lngCVal = GetUserDefaultLCID()
msg = String(255, 0)
Call GetLocaleInfo(lngID, LOCALE_SDECIMAL, msg, 255)
msg = Left$(msg, InStr(msg, Chr(0)) - 1)
MsgBox msg
End Sub
Sub Waehrung()
Dim msg As String
msg = String(255, 0)
GetCurrencyFormat ByVal 0&, 0, "1234567.89", ByVal 0&, msg, Len(msg)
msg = Left$(msg, InStr(msg, Chr$(0)) - 1)
MsgBox msg
End Sub

Gruß K.Rola
Anzeige
AW: Punkt oder Komma auslesen
03.03.2005 21:34:53
bst
Hallo,
erstmal vielen lieben Dank.
Habe aber immer noch keinen Plan wie ich das hätte finden können.
Sowohl die Recherche bei Herber als auch direkt bei Google via site:www.herber.de
helfen mir anscheinend nicht weiter.
Habe gerade eben noch in beiden Varianten nach "GetLocaleInfo" gesucht.
Mit wenig Erfolg. Was mache ich da denn falsch ?
Danke und einen schönen Abend noch,
Bernd
Anzeige
AW: Punkt oder Komma auslesen
03.03.2005 22:54:18
K.Rola
Hallo,
welches Betriebssystem verwendest du?
Gruß K.Rola
AW: Punkt oder Komma auslesen
04.03.2005 07:37:11
bst
Guten Morgen,
@home win2k, off2k, FireFox 1.00, @work win2k, off2k, IE 6.0.
Alles mit den neuesten Servicepacks.
@work hab ich - gerade eben - so gesucht:
Herber: Home-&gtRecherche-&gtVolltextsuche im Forumsarchiv (herber.de): GetLocaleInfo
ergibt einen Treffer vom Jahre 2000, Ländereinstellung"Zahlen" zum 2.
Goggle (www.google.de): site:www.herber.de GetLocaleInfo
3 Treffer, der von oben, sowie 2 Andere aus 2002 und 2003.
@Home war's IIRC genauso.
Übrigens, gestern habe ich u.a. nach "K.Rola Declare" gesucht. Auch nicht besser.
Könnte es denn sein, daß Dein obiger Beitrag sowie der letzte, den ich nicht gefunden hatte, überhaupt noch nicht von der Suchmaschine berücksichtigt werden:
Da zu neu, noch nicht indiziert oder irgendwas in dieser Art ?
Einen schönen Tag noch,
Bernd
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Punkt oder Komma auslesen in Excel


Schritt-für-Schritt-Anleitung

Um das Dezimaltrennzeichen in Excel auszulesen, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein, um das aktuelle Dezimaltrennzeichen auszulesen:

    Sub AuslesenDezimaltrennzeichen()
       MsgBox "Das aktuelle Dezimaltrennzeichen ist: " & Application.DecimalSeparator
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle AuslesenDezimaltrennzeichen aus und klicke auf Ausführen.

Du solltest nun eine Nachricht sehen, die dir das aktuelle Dezimaltrennzeichen anzeigt.


Häufige Fehler und Lösungen

  • Fehler: "Der Code funktioniert nicht."
    Lösung: Überprüfe, ob du den Code genau so eingegeben hast. Auch die Einstellung Application.UseSystemSeparators sollte auf True gesetzt sein, wenn du das Dezimaltrennzeichen vom Betriebssystem übernehmen möchtest.

  • Fehler: "MsgBox zeigt einen leeren Wert."
    Lösung: Stelle sicher, dass Excel die richtigen Regionseinstellungen hat. Du kannst die Regionseinstellungen in der Systemsteuerung überprüfen.


Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch die Regionseinstellungen deines Betriebssystems prüfen. Gehe dazu auf:

  1. Systemsteuerung > Region und Sprache
  2. Unter dem Tab Formate kannst du das Dezimaltrennzeichen einsehen und ändern.

Für Excel 2016 und neuere Versionen kannst du auch unter Datei > Optionen > Erweitert nachsehen, ob die richtigen Einstellungen für das Dezimaltrennzeichen konfiguriert sind.


Praktische Beispiele

Hier sind einige Beispiele für die Verwendung des Codes, um das Dezimaltrennzeichen auszulesen:

  • Beispiel 1: Das Dezimaltrennzeichen in einer MsgBox anzeigen.

    Sub ZeigeDezimaltrennzeichen()
      MsgBox "Aktuelles Dezimaltrennzeichen: " & Application.DecimalSeparator
    End Sub
  • Beispiel 2: Verwendung von GetLocaleInfoA, um das aktuelle Dezimaltrennzeichen zu ermitteln.

    Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
    Const LOCALE_SDECIMAL = &HHE
    
    Sub AuslesenMitAPI()
      Dim msg As String
      msg = String(255, 0)
      Call GetLocaleInfo(GetUserDefaultLCID(), LOCALE_SDECIMAL, msg, 255)
      MsgBox "Aktuelles Dezimaltrennzeichen: " & Left$(msg, InStr(msg, Chr(0)) - 1)
    End Sub

Tipps für Profis

  • Nutze die API-Funktionen GetLocaleInfoA und GetUserDefaultLCID, um präzise Informationen über die Regionseinstellungen auszulesen.
  • Achte darauf, dass du die richtige Excel-Version verwendest, insbesondere wenn du mit älteren Versionen wie Excel 2000 arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich das Dezimaltrennzeichen in Excel ändern?
Du kannst das Dezimaltrennzeichen über die Excel-Optionen oder die Regionseinstellungen deines Betriebssystems ändern.

2. Funktioniert dieser Code auch in Excel 2003?
Ja, der VBA-Code funktioniert ebenfalls in Excel 2003. Stelle jedoch sicher, dass du die richtigen Berechtigungen für die Verwendung von VBA hast.

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