Laufzeitfehler 1004 Anwendungs- oder ojekdef. F.
16.05.2006 07:07:40
Oliver
ich habe gestern den ganzen Abend in verschiedenen Foren nach einer Lösung für mein Problem gesucht und festgestellt, dass es diese Fehlermeldung (s. o.) oft und aus unterschiedlichster Ursache gibt. Nur für mein Problem konnte ich bis jetzt keinen guten Hinweis finden. Vielleicht hat ja jemand von euch ne Idee (oder findet evt. einen Tippfehler oder so was :-)
Ich möchte eine Zeile von einem Tabellenblatt in ein anderes Blatt der selben Arbeitsmappe kopieren, wenn bestimmte Zellen dieser Zeile bestimmte Vorraussetzungen erüfllen. Dazu habe ich folgenden Code geschrieben:
Private Sub CommandButton1_Click()
Dim Quellzeile, Zielzeile As Integer
Dim Solldatum, Prüfdatum As Variant
Quellzeile = 4
Zielzeile = 5
Sheets("Statistik").Select
'ActiveSheet.Range(Cells(Quellzeile, 1), Cells(Quellzeile, 7)).Select ***Test: hier funktioniert die Anweisung
Solldatum = ActiveSheet.Cells(1, 10).Value
Do While Quellzeile < 200
Sheets("drucken").Select
Prüfdatum = ActiveSheet.Cells(Quellzeile, 5).Value
If Prüfdatum = "" Then Prüfdatum = 1
ActiveSheet.Cells(Quellzeile, 1).Select
If ActiveCell.Value = "" Then
Quellzeile = Quellzeile + 1
'ActiveSheet.Range(Cells(Quellzeile, 1), Cells(Quellzeile, 7)).Select ***Test: hier funktioniert die Anweisung
ElseIf Prüfdatum > Solldatum Then
Quellzeile = Quellzeile + 1
'ActiveSheet.Range(Cells(Quellzeile, 1), Cells(Quellzeile, 7)).Select ***Test: hier funktioniert die Anweisung nicht!! Liegts am "else?"
Else
'ActiveSheet.Range("A5", "G5").Select '***Test: das funktioniert
'ActiveSheet.Cells(Quellzeile, 1).Select ***Test: das funktioniert
ActiveSheet.Range(Cells(Quellzeile, 1), Cells(Quellzeile, 7)).Select 'hier soll diese Anweisung tatsächlich stehen, bringt aber die Fehlermeldung
Selection.Copy
Sheets("Statistik").Select
ActiveSheet.Cells(Zielzeile, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Quellzeile = Quellzeile + 1
Zielzeile = Zielzeile + 1
End If
Loop
End Sub
An den auskommentierten Zeilen seht ihr, was ich schon alles versucht habe. Ich kann die von mir benötigte Anweisung überall hinschreiben und sie wird ausgeführt, nur nicht hinter "Else" oder "ElseIf".
Außerdem kann ich an diese Stelle durch ähnliche Anweisungen Zellen markieren, nur genau das, was ich brauche, geht nicht.