Laufzeitfehler 13, Typen unverträglich
22.01.2015 15:33:23
stormlamp
ich habe folgendes Makro, um in einer Tabelle alle Steuerzeichen zu löschen:
Sub SteuerzeichenLoeschen()
Dim rngZelle As Range
Dim strZeichen As String
Dim lngI As Long
Dim booZelleMitSteuerzeichen As Boolean
For Each rngZelle In ActiveSheet.UsedRange.Cells
For lngI = 1 To Len(rngZelle.Value)
strZeichen = Mid(rngZelle.Value, lngI, 1)
Select Case Asc(strZeichen)
Case 1 To 31, 63, 127, 129, 141, 143, 144, 157
If Not (rngZelle.HasFormula) Then
rngZelle.Value = Application.WorksheetFunction.Replace(rngZelle.Value, lngI, 1, _
Chr(9))
booZelleMitSteuerzeichen = True
End If
Case 160
If Not (rngZelle.HasFormula) Then
rngZelle.Value = Application.WorksheetFunction.Replace(rngZelle.Value, lngI, 1, _
Chr(32))
End If
End Select
Next
If booZelleMitSteuerzeichen And Not (rngZelle.HasFormula) Then
rngZelle.Value = Application.WorksheetFunction.Clean(rngZelle.Value)
booZelleMitSteuerzeichen = False
End If
Next
End Sub
Bisher lief das Makro problemlos. Nun habe ich eine Tabelle, in der das Makro den Fehler "Laufzeitfehler 13, Typen unverträglich" meldet und die Zeile
For lngI = 1 To Len(rngZelle.Value)
dabei markiert.Hat jemand eine Idee, was ich ändern muss?
Viele Grüße
Hans