Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 13, Typen unverträglich

Laufzeitfehler 13, Typen unverträglich
22.01.2015 15:33:23
stormlamp
Hallo Zusammen,
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 13, Typen unverträglich
22.01.2015 15:40:23
Klaus
Hallo Hans,
mach mal Einzelschritt bis der Fehler auftritt, und dann im Direktfenster
rngZelle.select
und sag uns, was genau in der selektierten Zelle steht. Ich wette auf #DIV/0! oder einen ähnlichen Fehler.
Grüße,
Klaus M.vdT.

AW: Laufzeitfehler 13, Typen unverträglich
22.01.2015 15:52:44
Rudi
Hallo,
wahrscheinlich ein Fehler in der Zelle.
Ich frage mich, warum du nicht prüfst ob eine Formel in der Zelle steht, bevor du sie Zeichen für Zeichen untersuchst. Wird dir der Code zu schnell?
  For Each rngZelle In ActiveSheet.UsedRange.Cells
If Not (rngZelle.HasFormula) Then
For lngI = 1 To Len(rngZelle.Value)
Gruß
Rudi

Anzeige
AW: Laufzeitfehler 13, Typen unverträglich
22.01.2015 16:05:58
stormlamp
Hallo,
danke für die Hilfe. Den Vorab-Test auf Formel habe ich eingefügt.
Nun läuft es auch durch. Das Problem lag daran, dass in einer Tabellenspalte SVerweise waren, bei denen genau einer ein #NV zurückgab.
Viele Grüße
Hans

AW: Laufzeitfehler 13, Typen unverträglich
22.01.2015 16:03:25
Daniel
Hi
könnte ein Fehler in der Zelle sein.
Ich würde die Schleife nur über Zellen laufen lassen, die einen Text enthalten.
Zahlen oder Formeln kannst du so von vorne herein ausschließen, ebenso den Stop bei Fehlerwerten.
Mit
For Each rngZelle In ActiveSheet.UsedRange.SpecialCells(xcelltypeconstants, 2)
läuft die Schleife nur über Zellen mit Fixwerten (constants), dh Formeln sind ausgeschlossen und hierbei auch nur über Texte (dafür steht die 2) dh alle Zahlen und Leerzellen werden gar nicht in die Schleife aufgenommen und du kannst dir auch die Prüfungen innerhalb sparen.
Gruß Daniel
Anzeige

146 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige