AW: Telefonnummer
20.10.2006 01:22:11
fcs
Hallo Jürgen,
ein Makro, das nach der Eingabe die Telefonnummer in ein gewünschtes Format umwandelt, kann etwa so aussehen:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Zelle As Range, Vorwahl As Long, Nummer As Long, Spalte As Integer, Zeile1 As Integer
Spalte = 3 'Spalte in der Telefonnummer eingegeben wird
Zeile1 = 2 'Zeile ab der Telefonnummern eingegeben werden
If Target.Column = Spalte And Target.Row >= Zeile1 And Target.Columns.Count = 1 Then
For Each Zelle In Target
If InStr(1, Zelle.Value, "(") > 0 Then
'do nothing, Zelle enthält bereits Formatierte Telefonnumer
Else
If InStr(1, Zelle.Value, " ") > 0 Then
'Vorwahl und Nummer sind durch Leerzeichen getrennt
Vorwahl = Val(Left(Zelle.Value, InStr(1, Zelle.Value, " ") - 1))
Nummer = Val(Mid(Zelle.Value, InStr(1, Zelle.Value, " ") + 1))
Else
'Funktelefonnummer ohne Leerzeichen
Vorwahl = Val(Left(Val(Zelle.Value), 3))
Nummer = Val(Mid(Val(Zelle.Value), 4))
End If
Zelle.Value = Format(Vorwahl, """(0""## 00"")""") & " " & Format(Nummer, "## ## ## ## 00")
End If
Next Zelle
End If
End Sub
Im VBA-Editor nuss du das Makro unter der Tabelle einfügen in der die Eingabe gemacht wird.
Gruss
Franz