ich habe eine Tabelle mit ca. 60.000 Zeilen (DS).
In der letzten Spalte („INFO“) stehen Daten, die manchmal
Sonderzeichen enthalten. Nicht nur "normale Umlaute " wie ÜÖÄ, sondern auch Zeichen wie z.B. „æ“ oder „»“ und ähnliches.
Mit Suchen und Ersetzen komme ich hier nicht weiter.
Wie kriege ich es mit einem Makro hin, daß nur „erlaubte“ Zeichen wie Buchstaben und Zahlen (keine Unterstriche, Rauten Hochkommata und so´n Schrott) übrigbleiben?
Public Sub SonderzeichenRausmachen()
Dim i As Long
Dim Start As String
Dim Ende As String
Dim Temp As String
Dim erlaubt As String
Start = Time
erlaubt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 "
Application.ScreenUpdating = False
For Each C In Selection
With C
Temp = ""
For i = 1 To Len(.Text)
If InStr(1, erlaubt, Mid(.Text, i, 1), vbTextCompare) \> 0 Then
Temp = Temp & Mid(.Text, i, 1)
End If
Next i
.Value = Temp
End With
Next C
Application.ScreenUpdating = True
Ende = Time
MsgBox "Start: " & Start & vbCrLf & "Ende: " & Ende, vbInformation, "...fertig!"
End Sub
Das Makro arbeitet alle markierten Zellen durch und lässt nur die Zeichen übrig, die in der erlaubt-Variablen stehen. Groß- und Kleinschreibung wird dabei ignoriert.
Zugegebenermassen ist das Makro nicht das superschnellste; bevor Du also gleich alle 60.000 DS markierst und das Makro startest, solltest Du vielleicht mal erst mit 5.000 DS anfangen.