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

Forumthread: nach jede 3 Zeichen "," einfügen

nach jede 3 Zeichen "," einfügen
Anja
Hallo zusammen,
wie kann ich nach jede 3 Zeichen von rechts (egal wie lange der String ist) eine Komma einfügen.
Bis jetz habe ich einfach von rechts nach links 3 zeichen gezählt und eine Komma eingefügt.
So:
Function  GetDBCommaNumber(varValue)
GetDBCommaNumber = left(varValue, len(varValue) - 3)  & "," & right(varValue, 3)
End Function
Wenn aber der String z.B. 10 zeichen enthält dann gilt es nicht mehr, z.b bei String 200100200 wird folgendes angezeigt 200100,200 und ich möchte das erreichen 200,100,200.
Ich würde es gerne dynamisch machen. Ich denke man kann es mit LOOP machen, aber
weiss nicht genau wie.
Über eure Tipps und Hilfe freue ich mich!
Danke und Viele Grüße,
Anja
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
vor je 3 Zeichen "," einfügen
12.04.2011 18:04:41
Erich
Hi,
probier mal das hier:

Function GetDBCommaNumber3(varValue) As String
Dim arr() As String, ii As Long
ReDim arr(1 To (Len(varValue) + 1) / 3)
For ii = Len(varValue) - 1 To 2 Step -3
arr((ii + 2) / 3) = Mid(varValue, ii - 1, 3)
Next ii
ii = Len(varValue) Mod 3
If ii Then arr(1) = Left(varValue, ii)
GetDBCommaNumber3 = Join(arr, ",")
End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
vielleicht so...
12.04.2011 18:09:17
Tino
Hallo,
hier ein Beispiel.
Sub Bsp()
Dim strString As String, TeilArray()
Dim i As Integer, ii As Integer

strString = "1231231231231"

Redim Preserve TeilArray(Len(strString) / 3)

For i = 1 To Len(strString) Step 3
    TeilArray(ii) = Mid$(strString, i, 3)
    ii = ii + 1
Next i

strString = Join(TeilArray, ",")

End Sub
Gruß 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

Komma nach jeder 3 Zeichen in Excel einfügen


Schritt-für-Schritt-Anleitung

Um in Excel ein Komma nach jeder 3 Zeichen einzufügen, kannst du eine benutzerdefinierte Funktion in VBA verwenden. Folge diesen Schritten, um die Funktion zu erstellen:

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

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Function GetDBCommaNumber3(varValue As String) As String
       Dim arr() As String, ii As Long
       ReDim arr(1 To (Len(varValue) + 1) / 3)
       For ii = Len(varValue) - 1 To 2 Step -3
           arr((ii + 2) / 3) = Mid(varValue, ii - 1, 3)
       Next ii
       ii = Len(varValue) Mod 3
       If ii Then arr(1) = Left(varValue, ii)
       GetDBCommaNumber3 = Join(arr, ",")
    End Function
  4. Schließe den VBA-Editor, indem du auf X klickst oder ALT + Q drückst.

  5. Verwende die Funktion in einer Zelle, indem du =GetDBCommaNumber3(A1) eingibst (ersetze A1 durch die Zelle mit deinem Text).


Häufige Fehler und Lösungen

  • Fehler: Die Funktion gibt einen Fehler zurück.

    • Lösung: Stelle sicher, dass der eingegebene Wert ein Textstring ist und keine Zahl. Wenn du eine Zahl hast, konvertiere sie zuerst in einen Text.
  • Fehler: Das Komma wird nicht an der richtigen Stelle gesetzt.

    • Lösung: Überprüfe die Länge des Strings und stelle sicher, dass du die Funktion korrekt anwendest. Die Funktion ist so konzipiert, dass sie von der letzten Ziffer aus arbeitet.

Alternative Methoden

Wenn du keine VBA-Funktion verwenden möchtest, kannst du auch eine Excel-Formel nutzen, um das Komma an der gewünschten Stelle einzufügen. Eine mögliche Formel könnte so aussehen:

=TEXTJOIN(",", TRUE, MID(A1, SEQUENCE(LEN(A1)/3, , 1, 3), 3))

Diese Formel funktioniert in Excel 365 und neueren Versionen und setzt ein Komma nach jedem 3 Zeichen.


Praktische Beispiele

Hier sind einige Beispiele, die dir helfen, die Funktion besser zu verstehen:

  • Beispiel 1: 123456789 wird zu 123,456,789.
  • Beispiel 2: 200100200 wird zu 200,100,200.
  • Beispiel 3: 9876543210 wird zu 987,654,321,0.

Du kannst die Funktion in jede Zelle anwenden, um ein Komma in der gewünschten Struktur einzufügen.


Tipps für Profis

  • Wenn du häufig mit langen Strings arbeitest, kannst du die Funktion direkt in deine Arbeitsmappe einfügen und sie als benutzerdefinierte Funktion speichern.
  • Denke daran, dass die Leistung von Excel beeinträchtigt werden kann, wenn du viele benutzerdefinierte Funktionen in einem großen Arbeitsblatt verwendest.

FAQ: Häufige Fragen

1. Frage
Wie kann ich ein Komma nach 2 Zeichen einfügen?
Antwort: Du kannst die oben genannte Funktion anpassen, indem du die Schrittweite in der Schleife von 3 auf 2 änderst.

2. Frage
Kann ich das Komma auch in Zahlen einfügen?
Antwort: Ja, du kannst die Funktion verwenden, um Kommas in Zahlen einzufügen, indem du die Zahl zuerst in einen Textstring umwandelst.

3. Frage
Wie kann ich die Funktion für mehrere Zellen anwenden?
Antwort: Du kannst die Funktion einfach nach unten ziehen, um sie auf mehrere Zellen anzuwenden, indem du das Ausfüllkästchen in der unteren rechten Ecke der Zelle verwendest.

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