VBA Laufzeitfehler 13

Bild

Betrifft: VBA Laufzeitfehler 13
von: WalterK
Geschrieben am: 02.10.2015 20:08:30

Hallo,
ich komme wieder einmal nicht weiter:
Die Schreibweise meiner Schleife scheint nicht zu passen:

Option Explicit
Sub Zeiten_FK_Details()
    Dim wks As Worksheet
    Dim LzwksB As Long
    Dim h As Long
    Dim i As Long
    Dim j As Long
    Static CalculationMode As Long
    Set wks = Worksheets("Zeiten")
    
    LzwksB = wks.Cells(Rows.Count, 2).End(xlUp).Row
    
    With Application
    .ScreenUpdating = False
    .EnableEvents = False
    CalculationMode = .Calculation
    .Calculation = xlManual
    .DisplayAlerts = False
    End With
    
    For h = 1 To 1000
        If wks.Cells(h, 5) = "01:00" Or wks.Cells(h, 5) = "02:00" Or wks.Cells(h, 5) = "00:00"  _
Or wks.Cells(h, 5) = "00:59" Then
            wks.Cells(h, 5).Interior.ColorIndex = 6
        End If
    Next h
    
    For i = 1 To 1000 'diese Schleife funktioniert nicht. Fehlermeldung: Laufzeitfehler 13,  _
Typen unverträglich
        If wks.Cells(i, 5) * 1 = "00:00" * 1 And wks.Cells(i, 6) * 1 >= "00:00" * 1 Then
            wks.Rows(i + 1).Insert Shift:=xlDown
        End If
    Next i
    
    For j = 1 To 1000 'diese Schleife funktioniert nicht. Fehlermeldung: Laufzeitfehler 13,  _
Typen unverträglich
        If wks.Cells(j, 5) * 1 <= "23:59" * 1 And wks.Cells(j, 6) * 1 >= "00:00" * 1 Then
            wks.Rows(j + 1).Insert Shift:=xlDown
        End If
    Next j
    
    With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = CalculationMode
    .DisplayAlerts = True
    .StatusBar = False
    End With
    
End Sub
Hier die Datei mit den importierten Daten.
https://www.herber.de/bbs/user/100560.xlsm
Danke für die Hilfe, Servus Walter

Bild

Betrifft: AW: VBA Laufzeitfehler 13
von: Hajo_Zi
Geschrieben am: 02.10.2015 20:17:26
Hallo Walter,
es kann nicht gleichzeitig 0 und größer 0 sein.


Bild

Betrifft: AW: VBA Laufzeitfehler 13
von: WalterK
Geschrieben am: 02.10.2015 20:38:32
Hallo Hajo,
es werden ja 2 verschiedene Spalten abgefragt, da kann es schon vorkommen, dass beide Bedingungen erfüllt sind.
Servus, Walter

Bild

Betrifft: AW: VBA Laufzeitfehler 13
von: Hajo_Zi
Geschrieben am: 02.10.2015 20:44:08
Hallo Walter,
das hatte ich übersehen. Es stehen keine Zahlen in Spalte 5 oder 6?
Gruß Hajo

Bild

Betrifft: AW: VBA Laufzeitfehler 13
von: WalterK
Geschrieben am: 02.10.2015 20:56:15
Hallo Hajo,
OK, die Zahlen stehen in den Spalten 4 und 5 anstatt 5 und 6!
Das ändert aber nichts daran dass einfach die Schreibeweise der Schleife scheinbar nicht passt.
Servus, Walter

Bild

Betrifft: AW: VBA Laufzeitfehler 13
von: Hajo_Zi
Geschrieben am: 02.10.2015 20:59:24
Hallo Walter,
dann musst Du den Fehler wohl selber suchen. Da nur wenige Deine Datei sehen.
Gruß Hajo

Bild

Betrifft: AW: VBA Laufzeitfehler 13
von: WalterK
Geschrieben am: 02.10.2015 21:09:34
Hallo Hajo,
wieso, die Datei ist doch in meinem ersten Beitrag!
Servus, Walter

Bild

Betrifft: AW: VBA Laufzeitfehler 13
von: Luschi
Geschrieben am: 02.10.2015 21:29:31
Hallo Walter,
in der Datei enthalten die beiden Spalten 'D' und 'E' Textwerte und keine Uhrzeiten.
Deshalb klappt das Ganze auch nicht.
Die For-Schleifenvariablen 'h' bzw. 'i' müssen bei 2 beginnen und nicht bei 1, denn in der 1. Zeile stehen die Überschriften.
wks.Cells(j, 5) * 1 <= "23:59" ist absoluter Unsinn; Du willst einen jetzt Text/später Uhrzeit mit 1 multiplizieren und dann wieder mit einem Text vergleichen.
Ich schaue Morgen noch mal rein.
Gruß von Luschi
aus klein-Paris
PS: mit wks.Cells(3, 5).value
kann man den Datentyp des Zellinhalten prüfen und da kommt überall der Wert '8' heraus
und die steht für Text (siehe Vba-Hilfe)


Bild

Betrifft: Hallo. Ich ziehe meine Frage zurück, so ...
von: WalterK
Geschrieben am: 03.10.2015 07:45:41
... kann es nicht funktionieren. Ich muss mir die Sache nochmals überlegen.
Besten Dank fürs Anschauen.
Servus, Walter

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA Laufzeitfehler 13"