Laufzeitfehler 13
28.03.2018 09:50:32
Locean
seit kurzem bekomme ich in meiner Excel-Datei immer eine Fehlermeldung Laufzeitfehler 13 und ich kann mir einfach nicht erklären warum. Bis vor kurzem lief noch alles einwandfrei, aber jetzt geht überhaupt nichts mehr ohne diese Fehlermeldung.
Ich habe ein Worksheet mit 20 Mitarbeitern, welche Uhrzeiten eintragen müssen (Dienstplan). Da ich es den Kollegen einfach machen wollte, habe ich einen Code so eingefügt (den habe ich übrigens auch von hier ;-) ), der aus 3 oder 4 Ziffern automatisch eine Uhrzeit macht durch das setzen eines Doppelpunktes.
Dies ist leider auch nur per VBA möglich, da noch die Zeitberechnung vorgenommen wird.
Wie gesagt, seit kurzem funktioniert das leider nicht mehr.
Unten stehend mal mein Code in der Hoffnung ihr könnt mir dabei helfen falls es nicht zu kompliziert ist.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = "$A$2" Then
Range("C5:C35,N5:N35,Y5:Y35,AJ5:AJ35,AU5:AU35,BF5:BF35,BQ5:BQ35,CB5:CB35,CM5:CM35,CX5:CX35,DI5: _
_
DI35,DT5:DT35,EE5:EE35,EP5:EP35,FA5:FA35,FL5:FL35,FW5:FW35,GH5:GH35,GS5:GS35,HD5:HD35").Select _
'hier die Löschbereiche eintragen
Selection.ClearContents
Range("D5:G35,O5:R35,Z5:AC35,AK5:AN35,AV5:AY35,BG5:BJ35,BR5:BU35,CC5:CF35,CN5:CQ35,CY5:DB35,DJ5: _
_
DM35,DU5:DX35,EF5:EI35,EQ5:ET35,FB5:FE35,FM5:FP35,FX5:GA35,GI5:GL35,GT5:GW35,HE5:HH35").Select _
'hier die Löschbereiche eintragen
Selection.ClearContents
Range("I5:I35,T5:T35,AE5:AE35,AP5:AP35,BA5:BA35,BL5:BL35,BW5:BW35,CH5:CH35,CS5:CS35,DD5:DD35, _
DO5:DO35,DZ5:DZ35,EK5:EK35,EV5:EV35,FG5:FG35,FR5:FR35,GC5:GC35,GN5:GN35,GY5:GY35,HJ5:HJ35"). _
Select 'hier die Löschbereiche eintragen
Selection.ClearContents
Range("K5:L35,V5:W35,AG5:AH35,AR5:AS35,BC5:BD35,BN5:BO35,BY5:BZ35,CJ5:CK35,CU5:CV35,DF5:DG35, _
DQ5:DR35,EB5:EC35,EM5:EN35,EX5:EY35,FI5:FJ35,FT5:FU35,GE5:GF35,GP5:GQ35,HA5:HB35,HL5:HM35"). _
Select 'hier die Löschbereiche eintragen
Selection.ClearContents
Range("M5:M35,X5:X35,AI5:AI35,AT5:AT35,BE5:BE35,BP5:BP35,CA5:CA35,CL5:CL35,CW5:CW35,DH5:DH35, _
DS5:DS35,ED5:ED35,EO5:EO35,EZ5:EZ35,FK5:FK35,FV5:FV35,GG5:GG35,GR5:GR35,HC5:HC35,HN5:HN35"). _
Select 'hier die Löschbereiche eintragen
Selection.ClearContents
Range("D5").Select
UrlaubaufDienstplan
End If
If Target.Address = "$A$3" Then
UrlaubaufDienstplan
End If
Sheets("Dienstplan").Unprotect Password:="IsHa"
Dim s%, m%
If Intersect(Target, Range("D5:G35,O5:R35,Z5:AC35,AK5:AN35,AV5:AY35,BG5:BJ35,BR5:BU35,CC5:CF35, _
_
CN5:CQ35,CY5:DB35,DJ5:DM35,DU5:DX35,EF5:EI35,EQ5:ET35,FB5:FE35,FM5:FP35,FX5:GA35,GI5:GL35,GT5: _
GW35,HE5:HH35")) Is Nothing Then Exit Sub
With Cells(Target.Row, Target.Column)
If .Value = "" Then Exit Sub
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") = 0 Then
.NumberFormat = "[hh]:mm"
If Len(.Value) > 2 Then
s = Left(.Value, Len(.Value) - 2)
m = Right(.Value, 2)
Else
s = .Value
m = 0
End If
.Value = s & ":" & m
End If
End With
Sheets("Dienstplan").Protect Password:="IsHa"
Application.ScreenUpdating = True
End Sub
Den Fehler habe ich fett kursiv markiert.
Ich danke euch schonmal im Voraus für eure Mühen.
Liebe Grüße