Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Laufzeitfehler
#1
Hallo,

ich habe ein Makro geschrieben und es funktioniert auch so wie es soll.
nur leider bekomme ich immer wieder eine Laufzeitfehler '1004':
Könnte mir jemand helfen diesen zu beheben?


Code:
Option Explicit
Sub Rechner()
'Zelle auswählen
ActiveWorkbook.Worksheets("Rechner").Select
Dim i As Integer
Dim c As Variant

i = 2
 For Each c In Range("o2:o4000")
 Cells(i, 1).Value = DateAdd("m", -30, c.Value)
 Cells(i, 2).Value = DateAdd("m", -21, c.Value)
 Cells(i, 3).Value = DateAdd("m", -6, c.Value)
 'Freigabe Status
 
 If Cells(i, 5).Value = "P-FG" Then
   Cells(i, 2).Interior.ColorIndex = 3
    Cells(i, 1).Interior.ColorIndex = 4
     Cells(i, 3).Interior.ColorIndex = 3

 
End If
 If Cells(i, 5).Value = "B-FG" Then
  Cells(i, 2).Interior.ColorIndex = 4
    Cells(i, 1).Interior.ColorIndex = 4
     Cells(i, 3).Interior.ColorIndex = 3

   End If
 

If Cells(i, 5).Value = "K-FG" Then
  Cells(i, 3).Interior.ColorIndex = 4
  Cells(i, 2).Interior.ColorIndex = 4
  Cells(i, 1).Interior.ColorIndex = 4

 End If
 
 i = i + 1


 


 


'keine  Freigabe

If Cells(i, 5).Value = Empty Then
       Cells(i, 5).Interior.ColorIndex = 3
       Cells(i, 1).Interior.ColorIndex = 3
       Cells(i, 2).Interior.ColorIndex = 3
       Cells(i, 3).Interior.ColorIndex = 3
       Cells(i, 5).Value = "!ACHTUNG!"
       
 
 
   End If
   Next
   End Sub
 
 
Dankeschön
Antworten Top
#2
Hi,

wenn ein Programm, das im allgemeinen funktioniert immer wieder mal stehen bleibt, dann liegt das in der Regel an den Daten, die nicht wie erwartet vorliegen.

Wenn der Fehler auftritt müsstest du eigentlich sofort zu der entsprechenden Zeile im Code springen können, und gucken, wo das Problem liegt. Welchen Wert hat dann i?

Ich vermute mal, dein Dateadd stolpert über eine Zelle die leer oder 0 ist.

fg, MM
Antworten Top
#3
Ja  also Debugger zeigt mir diese Zeile an
Code:
Cells(i, 1).Value = DateAdd("m", -30, c.Value)



I = 589

wie Umgehe ich das Problem mit den Leeren Zeilen?

Dankeschön schon mal
  Angel
Antworten Top
#4
Hallo,

falls es sich wirklich um eine leere Zelle handelt und um keine Formel bzw. Text

Code:
If Not IsEmpty(c.Value) Then
   Cells(i, 1).Value = DateAdd("m", -30, c.Value)
   Cells(i, 2).Value = DateAdd("m", -21, c.Value)
   Cells(i, 3).Value = DateAdd("m", -6, c.Value)
End If
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#5
Ja gut so taucht keine Fehler Meldung mehr auf.

aber so gibt es Probleme mit dieser Zeile
Code:
If Cells(i, 5).Value = Empty Then
     Cells(i, 5).Interior.ColorIndex = 3
     Cells(i, 1).Interior.ColorIndex = 3
       Cells(i, 2).Interior.ColorIndex = 3
       Cells(i, 3).Interior.ColorIndex = 3
     Cells(i, 5).Value = "!ACHTUNG!"
End if

er schreibt mir dann ja in jede Leere Zeile ein !ACHTUNG!
Antworten Top
#6
Hallo,

was hat Spalte E mit der Spalte O bzw. mit den Spalten A bis C zu tun?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#7
in A-C wird das zurück gerechnete Datum aus O geschrieben.


In Zeile E  steht ein Wert der mir sagt ob es eine bestimmte "Freigabe" gab.

wenn E leere ist wurde keine Freigabe ausgesprochen, diese soll er angezeigt werden indem in die entsprechende Leere zeile ein Achtung geschrieben wird.


Ich hoffe es ist irgendwie verständlich :20:
Antworten Top
#8
Hallo,

nein, das ist für mich weiterhin unverständlich. Ich kann bis jetzt nicht erkennen, wie sich es auf die Spalte E auswirkt, wenn in den Spalten A bis C ein zurück gerechnetes Datum eingetragen wird (bzw. nicht eingetragen wird).
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#9
Wenn in der Spalte E kein Eintrag ist, wir die FarbFüllung von A-B-C in Rot formatiert
und gleichzeitig wird ein !ACHTUNG! geschrieben in das leere Feld von E.



Also wenn man es so betrachtet hat das zurück rechnen des Datums  keine Auswirkungen auf E

1. Datum Berechnung, ist Datum Zeile O Soll Datum A-B-C

2. Abfrage Inhalt Zeile E : "Hallo, A-B-C  = grün" "Tag,A-B = grün  C = Rot" "Abend, A = Grün B-C = Rot" " Kein Eintrag, A-B-C = rot, E =" !ACHTUNG!"


.......das macht mich ein bisschen Wahnsinnig :D :D
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste