einfügen von vorwahlen zu telefonnummer

… excel
Hallo zusammen!
habe einwenig Ahnung in Excel, aber ich stehe nun vor einen Problem und habe noch nicht mal einen Ansatz dazu^^. Ich soll eine vorgegebene Tabelle mit Spalten wie Plz, Ort und Telefonnummern(Festnetz u. Handy). Die Spalte Telefonnummern soll am ende so aussehen, dass alle die korrekte Vorwahl haben(+49(Vorwahl)XXXXXXXXX. Einige der schon enthaltenen Nummern haben bereits dieses Format aber der Großteil nicht. Habe eine Extratabelle angefertigt, welche in einer Spalte die Vorwahl und den dazugehörigen Ort enthält. Am Ende sind es 5182 Zeilen. Erschwärend kommt hinzu, dass in einigen Zeilen zu der Telefonnummer auch Buchstaben bzw. Inhalte stehe,wie z.b XXXXXXX Sohn. Keine Ahnung wie ich das realisieren soll^^. Vlt habt ihr ja einige Lösungsvorschläge und bin sehr froh darüber und Danke euch schon vielmals.

Die Spalte Telefonnummern
soll am ende so aussehen, dass alle die korrekte Vorwahl
haben(+49(Vorwahl)XXXXXXXXX. Einige der schon enthaltenen
Nummern haben bereits dieses Format aber der Großteil nicht.

Hallo Nimus,

bastle mal eine Beispielmappe, die die gleichen Spaltenüberschriften hat.
Nicht wichtige Spalten brauchst du nicht auszufüllen.
Wichtig sind wohl nur die Spalten Vorwahl und Telefonnummer.
Da halt Daten eintragen, die alle vorkommenden Fälle abdecken.

Hochladen der mappe mit file-upload o.ä., s. FAQ:2606

Gruß
Reinhard

danke dir für dein Bemühen schonmal^^
hier der Link:http://www.file-upload.net/download-2983567/Mappe2.x…

danke dir für dein Bemühen schonmal^^
hier der
Link:http://www.file-upload.net/download-2983567/Mappe2.x…

Hallo Mirko,

an Kopie der Mappe testen.
Alt+F11, Einfügen—Modul, Code reinkopieren, VB-Editor schließen.

In Excel Alt+F8, „Zusanmmenfassen“ Ausführen lassen.

Gruß
Reinhard

Option Explicit
'
Sub Zusammenfassen()
Dim Zei As Long, Spa As Long
Application.ScreenUpdating = False
With Workbooks("Mappe2.xls").Worksheets("Tabelle1")
 .Range("J:N").NumberFormat = "@"
 .Range("F1:I1").Copy Destination:=.Range("J1")
 For Zei = 2 To .Cells(.Rows.Count, 5).End(xlUp).Row 'E
 For Spa = 6 To 9
 With .Cells(Zei, Spa)
 If .Value "" Then .Offset(0, 4).Value = Nummer(.Value)
 End With
 Next Spa
 Next Zei
End With
Application.ScreenUpdating = True
End Sub
'
Function Nummer(ByVal Tel As String) As String
Dim N As Integer, Nr As String
Nr = CStr(Tel)
For N = 1 To Len(Nr)
 If InStr("()+x", Mid(Nr, N, 1)) \> 0 Or (Mid(Nr, N, 1) \>= "0" And Mid(Nr, N, 1) 

danke dir,
habs hinbekommen ohne fehlermeldung, doch er kopiert nur die ganzen ohne ein format mit +49 zu machen. beim kopieren fehlen dann auch die zusätze wie sohn o. dienstl. hab ich da ein fehler drin?

LG Mirko

habs hinbekommen ohne fehlermeldung, doch er kopiert nur die
ganzen ohne ein format mit +49 zu machen. beim kopieren
fehlen dann auch die zusätze wie sohn o. dienstl. hab ich da
ein fehler drin?

Hallo Mirko,

wohre soll Evel die Vorwahlen kriegen?

Sohn, Tochter, BH, Diesntl sollen erhalten bleiben?

Gruß
Reinhard

neuer Code

habs hinbekommen ohne fehlermeldung, doch er kopiert nur die
ganzen ohne ein format mit +49 zu machen. beim kopieren
fehlen dann auch die zusätze wie sohn o. dienstl. hab ich da
ein fehler drin?

Hallo Mirko,

probier mal folgenden Code aus.

Gruß
Reinhard

Option Explicit
'
Sub Zusammenfassen()
Dim Zei As Long, Spa As Long
Application.ScreenUpdating = False
With Workbooks("Mappe2.xls").Worksheets("Tabelle1")
 .Range("J:N").NumberFormat = "@"
 .Range("J:N").ClearContents
 .Range("F1:I1").Copy Destination:=.Range("J1")
 For Zei = 2 To .Cells(.Rows.Count, 5).End(xlUp).Row 'E
 For Spa = 6 To 9
 With .Cells(Zei, Spa)
 If .Value "" And .Value " " Then .Offset(0, 4).Value = Nummer(.Value)
 End With
 Next Spa
 Next Zei
 .Range("J:N").Columns.AutoFit
End With
Application.ScreenUpdating = True
End Sub
'
Function Nummer(ByVal Tel As String) As String
Dim N As Integer, Nr As String, Nr2
Nr = CStr(Tel)
Nr2 = Split(Nr)
For N = 0 To UBound(Nr2)
 If Left(Nr2(N), 1) = "0" Then Nr2(N) = "(" & Mid(Nr2(N), 2) & ")"
Next N
Nr = Join(Nr2)
For N = 1 To Len(Nr)
 If InStr("()+xX", Mid(Nr, N, 1)) \> 0 Or (Mid(Nr, N, 1) \>= "0" And Mid(Nr, N, 1) 

hallo reinhard!

habe eine extra tabelle die alle vorwahlen mit den orten hat, habe die orte der tabelle1 mit der tabelle mit vorwahlen vergleichen lassen und er gibt mir dann die richtige vorwahl für jede zeile aus.muss die nur mit dem format +49(vorwahl ohne 0)nummer unterbekommen. ja, der zusatz wie sohn oder dienstl. soll erhalten bleiben,auch die 2te nummer in manchen fällen soll erhalten bleiben.

LG Mirko

Hallo Mirko,

habe eine extra tabelle die alle vorwahlen mit den orten hat,
habe die orte der tabelle1 mit der tabelle mit vorwahlen
vergleichen lassen und er gibt mir dann die richtige vorwahl
für jede zeile aus.muss die nur mit dem format +49(vorwahl
ohne 0)nummer unterbekommen.

wieso kam die nicht mit die tabelle beim Mappe hochladen? Nachholen.

ja, der zusatz wie sohn oder
dienstl. soll erhalten bleiben,auch die 2te nummer in manchen
fällen soll erhalten bleiben.

Also auch das „O.“.

Gruß
REinhard