ich hoffe mal, daß ihr für mein Problem eine einfach
automatische Lösung habt, denn sonst wird hier jemand in der
nächsten Zeit viel Arbeit haben.
Also, ich habe zwei Excel Listen einmal die exportierte aus
der Telefonanlage (in einer Spalte die Namen in der nächsten
die Telefonnummern) und eine Liste mit unseren Kunden aus dem
Warenwirtschaftssystem in folgendem Format: 012;;Dial=;
Gefüllt müsste es dann so aussehen:
105;Kunde;Dial=031546588771;
Und kann man bei Telefonnummern wie 02564/37165 oder 72 76 84
die Sonder- und Leerzeichen automatisch verschwinden lassen?
Hi Marco,
aus dieser Tabelle in Tabelle1:
Anton Becker 02564/37548
Fritz Göring 02567/356-54
Hermann Name 0174 / 7411203
wird dann diese Tabelle im automatisch neu angelegten Blatt „Export“
001;Anton Becker;0256437548;
002;Fritz Göring;0256735654;
003;Hermann Name;01747411203;
wenn du diese Makro ablaufen läßt:
Option Explicit
Option Base 1
'
Sub Bereinigen()
Dim Zei As Long, N As Long, NN As Integer, Kurz As String, Bereich
Const T = ";"
For N = ThisWorkbook.Worksheets.Count To 1 Step -1
If Worksheets(N).Name = "Export" Then
Application.DisplayAlerts = False
Worksheets(N).Delete
Application.DisplayAlerts = True
Exit For
End If
Next N
Tabelle1.Activate
Bereich = Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row)
ReDim Kopie(UBound(Bereich), 1)
For N = 1 To UBound(Bereich)
Bereich(N, 1) = Trim(Bereich(N, 1))
Kurz = ""
For NN = 1 To Len(Bereich(N, 2))
If IsNumeric(Mid(Bereich(N, 2), NN, 1)) Then Kurz = Kurz & Mid(Bereich(N, 2), NN, 1)
Next NN
Bereich(N, 2) = Kurz
Kopie(N, 1) = Right("000" & N, 3) & T & Bereich(N, 1) & T & Bereich(N, 2) & T
Next N
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Export"
Range("A1:A" & UBound(Bereich)) = Kopie
Columns(1).AutoFit
End Sub
Gruß
Reinhard