Discussion:
VBA Select Laufzeitfehler '1004'
(zu alt für eine Antwort)
Ewald
2005-12-20 15:22:04 UTC
Permalink
Hallo NG,
bei folgendem Code(Variablen enthalten Werte), kommt die Fehlermeldung:
Laufzeitfehler '1004'
Die Select Methode des Range-Objektes konnte nicht ausgeführt werden.
Code:
Sub Archivieren()
Dim Quell_Bereich As Range
Dim Quell_Blatt As Worksheet
Dim Ziel_Bereich As Range
Dim Ziel_Blatt As Worksheet
Set Quell_Blatt = Worksheets("Datenbank")
With Quell_Blatt
.
End With
.
.
Set Quell_Bereich = Quell_Blatt.Range("A" & Erste_benutzte_Zeile & ":" _
& "O" & Letzte_zu_verarbeitende_Zeile)
Quell_Bereich.Select
Quell_Bereich.Copy

Set Ziel_Blatt = Worksheets("Archiv")
With Ziel_Blatt
.
End With
Ziel_Bereich.Select
' HIER IST FEIERABEND!?

Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, Skipblanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, Skipblanks:=False, Transpose:=False
Ziel_Blatt.Cells(Ziel_Zeile_Erste, 1).Select
Quell_Bereich.Select
Quell_Bereich.Delete
.
End Sub

Nach 8 h Brauch ich jetzt 'nen Glühwein

Danke für jede Hilfe
Ewald
WinXP, XL2003
Dr. Stephan Kassanke
2005-12-20 16:49:28 UTC
Permalink
Post by Ewald
Hallo NG,
bei folgendem Code(Variablen enthalten Werte), kommt die
Fehlermeldung: Laufzeitfehler '1004'
Die Select Methode des Range-Objektes konnte nicht ausgeführt werden.
Sub Archivieren()
Dim Quell_Bereich As Range
Dim Quell_Blatt As Worksheet
Dim Ziel_Bereich As Range
Dim Ziel_Blatt As Worksheet
Set Quell_Blatt = Worksheets("Datenbank")
With Quell_Blatt
.
End With
.
.
Set Quell_Bereich = Quell_Blatt.Range("A" & Erste_benutzte_Zeile &
":" _ & "O" & Letzte_zu_verarbeitende_Zeile)
Quell_Bereich.Select
Quell_Bereich.Copy
Set Ziel_Blatt = Worksheets("Archiv")
With Ziel_Blatt
.
End With
Ziel_Bereich.Select
' HIER IST FEIERABEND!?
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, Skipblanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, Skipblanks:=False, Transpose:=False
Ziel_Blatt.Cells(Ziel_Zeile_Erste, 1).Select
Quell_Bereich.Select
Quell_Bereich.Delete
.
End Sub
Nach 8 h Brauch ich jetzt 'nen Glühwein
Danke für jede Hilfe
Ewald
WinXP, XL2003
Hallo Ewald,

Ziel_Bereich wird in Deinem Code nicht definiert. Kann es sein, dass
Ziel_bereich nicht auf einen Range verweist oder dass die Dimension des
range nicht "passt" zu dem Inhalt der Zwischenablage?
viele Grüße,
Stephan
Wolfgang Habernoll
2005-12-20 23:16:46 UTC
Permalink
Hallo Ewald

ich habe deinen Code etwas korrigiert in dem du die Quell-Ziel Adressen
selbst noch anpassen mußt. Ich denke das er das tut was du wolltest. Die
Profis in der NG sagen auch nicht zu viel "Select , Activate" ist fast nie
nötig.


Sub Archivieren()
Dim Quell_Bereich As Range
Dim Quell_Blatt As Worksheet
Dim Ziel_Bereich As Range
Dim Ziel_Blatt As Worksheet

Set Quell_Blatt = Worksheets("Datenbank")
Set Ziel_Blatt = Worksheets("Archiv")

'' die Variablen sind nicht gesetzt
'' also wird ganze Spalte $A:$O kopiert
Set Quell_Bereich = Quell_Blatt.Range("A" & Erste_benutzte_Zeile & ":" _
& "O" & Letzte_zu_verarbeitende_Zeile)

'' Hier A1 ich weiss ja nicht wohin es soll
Set Ziel_Bereich = Worksheets(Ziel_Blatt.Name).Range("A1")

Quell_Bereich.Copy Destination:=Ziel_Bereich
Quell_Bereich.Delete

End Sub
Post by Ewald
Hallo NG,
Laufzeitfehler '1004'
Die Select Methode des Range-Objektes konnte nicht ausgeführt werden.
Sub Archivieren()
Dim Quell_Bereich As Range
Dim Quell_Blatt As Worksheet
Dim Ziel_Bereich As Range
Dim Ziel_Blatt As Worksheet
Set Quell_Blatt = Worksheets("Datenbank")
With Quell_Blatt
.
End With
.
.
Set Quell_Bereich = Quell_Blatt.Range("A" & Erste_benutzte_Zeile & ":" _
& "O" & Letzte_zu_verarbeitende_Zeile)
Quell_Bereich.Select
Quell_Bereich.Copy
Set Ziel_Blatt = Worksheets("Archiv")
With Ziel_Blatt
.
End With
Ziel_Bereich.Select
' HIER IST FEIERABEND!?
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, Skipblanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, Skipblanks:=False, Transpose:=False
Ziel_Blatt.Cells(Ziel_Zeile_Erste, 1).Select
Quell_Bereich.Select
Quell_Bereich.Delete
.
End Sub
Nach 8 h Brauch ich jetzt 'nen Glühwein
Danke für jede Hilfe
Ewald
WinXP, XL2003
Loading...