Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Laufzeitfehler 1004

Laufzeitfehler 1004
30.05.2003 13:10:35
Peter T
Hallo,

glaube ich habe heute einen schlechten Tag,
versuche mich jetzt schon dauerend an unten stehendem Code,
und bekomme immer den Fehler :
Laufzeitfehler 1004
Anwendungs- oder objetdefinierter Fehler

Was mache ich den falsch ?
(Als hintergrundinfo, ich rufe den Code mit den Parm. letzte und Datum1 aus einem UserForm auf)

Public Sub Logbuch(letzte, Datum1)
Sheets("COP-Logbuch").Cells(1, letzte).FormulaR1C1 = Datum1
End Sub

Danke

Peter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Laufzeitfehler 1004
30.05.2003 13:12:45
Georg_Zi
Hallo Peter

ich vermute mal in Letzte steht eine Zahl vom Typ Long, aber was für eine Formel steht den in Datum1??

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Re: Laufzeitfehler 1004
30.05.2003 13:16:55
Peter T
die Variable letzte kommt von:

letzte = (Sheets("COP-Logbuch").UsedRange.Rows.Count + 1)

und Datum1 ist eine Datumszuweisung (TT.MM.JJ) aus dem UserForm:

Private Sub Datum1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 44, 45: KeyAscii = 46 'aus Komma und Minus Punkt machen
Case 46 'Punkt
Case 48 To 57 'Zahlen von 0 bis 9
Case Else: KeyAscii = 0
End Select
End Sub

Private Sub Datum_pruefen(OK As Boolean)
Dim Tag As String, Monat As String, Jahr As String
OK = False
If Not IsDate(Datum1.Value) Then
MsgBox "Datumseingabe falsch.", 48, "Hinweis"
Datum1.SelStart = 0
Datum1.SelLength = Len(Datum1.Value)
Datum1.SetFocus
Exit Sub
End If
Tag = Left(Datum1.Value, InStr(1, Datum1.Value, ".") - 1)
Monat = Mid(Datum1.Value, InStr(1, Datum1.Value, ".") + 1)
Monat = Mid(Monat, 1, InStr(1, Datum1.Value, ".") - 1)
Jahr = Mid(Datum1.Value, Len(Tag) + Len(Monat) + 3)
If Len(Jahr) < 4 Then Jahr = "2" & String(4 - Len(Jahr) - 1, "0") & Jahr
Select Case CInt(Monat)
Case 1, 3, 5, 7, 8, 10, 12
If CInt(Tag) > 31 Then
MsgBox "Tag falsch.", 48, "Hinweis"
Datum1.Value = Datum1.Value
Datum1.SelStart = 0
Datum1.SelLength = Len(Datum1.Value)
Datum1.SetFocus
Exit Sub
End If
Case 4, 6, 9, 11
If CInt(Tag) > 30 Then
MsgBox "Tag falsch.", 48, "Hinweis"
Datum1.SelStart = 0
Datum1.SelLength = Len(Datum1.Value)
Datum1.SetFocus
Exit Sub
End If
Case 2
If CInt(Jahr) Mod 4 = 0 And (CInt(Jahr) Mod 100 <> 0 Xor CInt(Jahr) Mod 400 = 0) Then
If CInt(Tag) > 29 Then
MsgBox "Tag falsch.", 48, "Hinweis"
Datum1.SelStart = 0
Datum1.SelLength = Len(Datum1.Value)
Datum1.SetFocus
Exit Sub
End If
Else
If CInt(Tag) > 28 Then
MsgBox "Tag falsch.", 48, "Hinweis"
Datum1.SelStart = 0
Datum1.SelLength = Len(Datum1.Value)
Datum1.SetFocus
Exit Sub
End If
End If
End Select
If CInt(Monat) > 12 Then
MsgBox "Monat falsch.", 48, "Hinweis"
Datum1.SelStart = 0
Datum1.SelLength = Len(Datum1.Value)
Datum1.SetFocus
Exit Sub
End If
If CInt(Jahr) < CInt(Year(Date)) Then
MsgBox "Jahr falsch.", 48, "Hinweis"
Datum1.SelStart = 0
Datum1.SelLength = Len(Datum1.Value)
Datum1.SetFocus
Exit Sub
End If
' Datum1.Value = Format(Datum1.Value, "TT.MM.JJJJ")
OK = True
End Sub

Anzeige
Re: Laufzeitfehler 1004
30.05.2003 13:24:22
Georg_Zi
Hallo Peter

durch den Code arbeite ich mich nicht.

Wenn Datum1 ein Datum enthält warum muß es mit Formular der Zelle zugewiesen werden.

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Re: Laufzeitfehler 1004
30.05.2003 13:30:16
Peter T
Muß natürlich nicht,
war nur mein letzter Versuch,
habe es vorher mit .value versucht,
ist aber selber Fehler gekommen,
wie könnte ich noch versuchen den Wert zuzuweisen ?
(Das Arbeitsblatt ist nicht das von wo aus die UserForm
aufgerufen wird, deshalb der Umweg über einen Extraaufruf
im Modul.
Anzeige
Re: Laufzeitfehler 1004
30.05.2003 13:35:45
Georg_Zi
Hallo Peter

ich kann Dein Fehler nicht nachvollziehen. Folgender Code läuft bei mir Fehlerfrei.


' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************

Option Explicit

Public Sub Logbuch(letzte, Datum1)
Sheets("Tabelle2").Cells(1, letzte) = CDate(Datum1)
End Sub


' **************************************************************
' Modul: Modul2 Typ = Allgemeines Modul
' **************************************************************

Option Explicit

Sub Start()
Logbuch 12, "12.03.03"
End Sub

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Anzeige
Re: Laufzeitfehler 1004
30.05.2003 13:46:33
Peter T
Sorry, aber auch das funktioniert nicht,
habe jetzt sogar mal versucht alle Variablen zu entnehmen
(siehe Code unten) und auch hier kommt dieselbe Fehlermeldung (1004), ich bin einfach ratlos !!!????????

Peter

Re: Laufzeitfehler 1004
30.05.2003 16:32:20
Georg_Zi
Hallo Helfer

das Problem ist gelöst. Peter hatte Zeilen und Spalten in Cells vertauscht.

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige