Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1348to1352
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

Laufzeitfehler 13
17.02.2014 21:27:30
Jens
Hallo zusammen,
ich hab da mal wieder ein Problem bei dem ich nicht weiter komme.
Ich bekomme in folgendem Modul den Laufzeitfehler 13 Typenunverträglich.
Sub Wartung_offen()
Dim l, n, s As Long
l = Sheets("Daten").Cells(Rows.Count, 12).End(xlUp).Row
For s = 1 To 4
For n = 2 To l
If Month(DateSerial(1, Sheets("Daten").Cells(n, s + 7), 1))  Month(Date) And _
Year(Sheets("Daten").Cells(n, s + 11)) = Year(Date) - 2 Then
Sheets("Daten").Cells(n, s + 11) = "offen"
End If
Next n
Next s
End Sub
Das modul hat schon mal funktioniert. Seit heut hab ich das Problem.
Hat jemand vllt. eine Idee an was es liegen könnte?
Viele dank im vorraus

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 13
17.02.2014 21:31:38
Hajo_Zi
bei mir läuft es Fehlerfrei, das konnte aber daran liegen das meine Datei anders aussieht.

AW: Laufzeitfehler 13
17.02.2014 21:45:50
Jens
Bei mir lief es auch schon mal.
Kann das was mit der Bit Version zu tun Haben?
Jetzt hab ich 64Bit und als ich es hab laufen lassen glaub ich war es 32bit.
Kann ich noch vllt. irgendwas kontrollieren?

AW: Laufzeitfehler 13
17.02.2014 21:51:50
{Boris}
Hi Jens,
Ich bekomme in folgendem Modul den Laufzeitfehler 13 Typenunverträglich.
Wo genau?
VG, Boris

AW: Laufzeitfehler 13
17.02.2014 21:55:08
Jens
Beim debuggen zeigt er mir diesen bereich an.
If Month(DateSerial(1, Sheets("Daten").Cells(n, s + 7), 1)) Year(Sheets("Daten").Cells(n, s + 11)) = Year(Date) - 1 Or _
Month(DateSerial(1, Sheets("Daten").Cells(n, s + 7), 1)) > Month(Date) And _
Year(Sheets("Daten").Cells(n, s + 11)) = Year(Date) - 2 Then

Anzeige
AW: Laufzeitfehler 13
17.02.2014 21:57:40
{Boris}
Hi Jens,
schwierig bis unmöglich, was dazu zu sagen. Vor allen Dingen "Laufzeitfehler 13"...
Da wirst Du nicht umhin kommen, Deine Mappe mit den notwendigen Inhalten hochzuladen. Das ist auch das, was Dir Hajo auf seine ureigene Art bereits empfohlen hat ;-)
VG, Boris

AW: Laufzeitfehler 13
17.02.2014 22:17:32
Jens
Hab grad gesehen das die hochgeladene Datei einen Fehler enthält.
Hier noch mal eine neue.
https://www.herber.de/bbs/user/89331.xlsm

Anzeige
AW: Laufzeitfehler 13
17.02.2014 22:42:31
{Boris}
Hi Jens,
es bleibt hängen bei:
Year(Sheets("Daten").Cells(n, s + 11))
s + 11 = 12 - und in Spalte 12 (L) steh "offen".
Und Year("offen") führt logischerweise zum Laufzeitfehler...
VG, Boris

AW: Laufzeitfehler 13
17.02.2014 23:11:23
Uwe
Hi Jens,
probier mal das...
If Month(DateSerial(1, Sheets("Daten").Cells(n, s + 7), 1)) Year(Sheets("Daten").Cells(n, s + 11)) = Year(Date) - 1 Or _
Month(DateSerial(1, Sheets("Daten").Cells(n, s + 7), 1)) > Month(Date) And _
Year(Sheets("Daten").Cells(n, s + 7)) = Year(Date) - 2 Then
Sheets("Daten").Cells(n, s + 11) = "offen"
End If
Gruß Uwe

Anzeige
vergiss es, funktioniert auch nicht,
17.02.2014 23:16:39
Uwe
da ich beim testen On Error resume Next dazwischen hatte. ist aber sicher keine Lösung.

Codevorschlag
18.02.2014 09:50:02
Erich
Hi Jens,
warum der Fehler auftritt, hat Boris dir ja schon geschrieben.
Hier wird dieser Fehler vermieden:

Sub Wartung_offen2()
Dim zz As Long, ss As Long, bolMo As Boolean, intJ As Integer
With Sheets("Daten")
For ss = 8 To 11    ' Spalten H:K
For zz = 2 To .Cells(.Rows.Count, 12).End(xlUp).Row 'Ende Spalte L
If IsNumeric(.Cells(zz, ss + 4)) Then
'1. Option: Wartungsmonat   aktueller Monat und 2 Jahre zurück
bolMo = .Cells(zz, ss) 
Im Else-Fall steht wahrscheinlich schon "offen" in der Zelle - dann ist nichts zu tun.
Evtl. kannst du den Else-Fall einfach weglassen.
"With" ist auch hier ganz praktisch - und läuft auch noch schneller.
Noch eine Bemerkung: Mit
Dim l, n, s As Long
wird nur s als Long deklariert, l und n sind typlos, also Variant.
Wenn auch l und n Long sein sollen, muss man schon
Dim l As Long, n As Long, s As Long
schreiben.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Codevorschlag
18.02.2014 19:03:42
Jens
Hallo Leute,
nach dem Tip von Boris konnte ich den Fehler beheben und jetzt funktioniert alles.
Es hat nur deshalb einmal funktioniert weil beim ersten mal noch kein offen da stand.
Auch Erich danke für deine Lösung und vor allem für den Hinweis mit deklarieren.
Hab wie immer sehr gute Hilfe bekommen und dafür euch vielen Dank

Danke für Rückmeldung - und: ZU (owT)
18.02.2014 19:33:36
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige