Sozialversicherungsnummer formatieren mit Leerzeichen
Schritt-für-Schritt-Anleitung
-
Öffne Excel und gehe zu dem Arbeitsblatt, in dem du die Sozialversicherungsnummer formatieren möchtest.
-
Öffne den VBA-Editor: Drücke ALT + F11
.
-
Füge ein neues Modul ein: Rechtsklick auf "VBAProject (dein Dokument)" -> Einfügen
-> Modul
.
-
Kopiere den folgenden VBA-Code und füge ihn in das Modul ein:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objMatch As Object
Dim objReg As Object
Dim lngCount As Long
Dim strTMP As String
On Error GoTo Fin
If Target.Column = 2 And Target.CountLarge = 1 Then
Application.EnableEvents = False
If Len(Target.Value) = 12 Then
Set objReg = CreateObject("VbScript.RegExp")
objReg.Pattern = "^(\d{2})(\d{6})(\w)(.+)"
Set objMatch = objReg.Execute(Target.Text)
With objMatch
If .Count > 0 Then
For lngCount = 0 To .Item(0).SubMatches.Count - 1
strTMP = strTMP & .Item(0).SubMatches(lngCount) & " "
Next lngCount
Target.Value = Left(strTMP, Len(strTMP) - 1)
End If
End With
End If
End If
Fin:
Set objMatch = Nothing
Set objReg = Nothing
Application.EnableEvents = True
If Err.number <> 0 Then MsgBox "Fehler: " & Err.number & " " & Err.Description
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Gib die Sozialversicherungsnummer in die Zelle der Spalte B ein (z. B. 80121255B807
). Nach dem Drücken der Enter-Taste wird die Nummer automatisch formatiert: 80 121255 B 807
.
Häufige Fehler und Lösungen
Alternative Methoden
Anstelle von VBA kannst du die Sozialversicherungsnummer auch mit einer Formel formatieren, jedoch wird dies eine zusätzliche Zelle erfordern. Verwende die folgende Formel, wenn die Nummer in Zelle B1 steht:
=VERKETTEN(LINKS(B1;2);" ";TEIL(B1;3;6);" ";TEIL(B1;9;1);" ";RECHTS(B1;3))
Diese Methode eignet sich eher für Benutzer, die keine VBA-Kenntnisse haben.
Praktische Beispiele
- Beispiel 1: Gebe die Nummer
80121255B807
in Zelle B2 ein. Nach Drücken von Enter wird sie als 80 121255 B 807
angezeigt.
- Beispiel 2: Stelle sicher, dass beim Testen der Formatierung keine Leerzeichen oder anderen Zeichen in der Nummer enthalten sind.
Tipps für Profis
- Wenn du häufig mit dem Format der Sozialversicherungsnummer arbeitest, kannst du den VBA-Code anpassen, um zusätzliche Validierungen einzufügen, die sicherstellen, dass die Eingaben den gewünschten Kriterien entsprechen.
- Nutze Reguläre Ausdrücke für komplexere Validierungen, falls notwendig, um sicherzustellen, dass das Format der Sozialversicherungsnummer konsistent bleibt.
FAQ: Häufige Fragen
1. Kann ich den Code auch in anderen Spalten verwenden?
Ja, du kannst die Spaltennummer im Code anpassen, um die Funktion für andere Spalten zu aktivieren.
2. Was passiert, wenn ich eine doppelte Nummer eingebe?
Das VBA-Skript kann so angepasst werden, dass es überprüft, ob die eingegebene Nummer bereits existiert und dir eine Warnmeldung anzeigt.
3. Ist dieser Code in allen Excel-Versionen anwendbar?
Ja, der Code sollte in den meisten aktuellen Excel-Versionen funktionieren, solange die VBA-Funktionalität unterstützt wird.