Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1100to1104
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 1004 - Copy

Laufzeitfehler 1004 - Copy
Tom
Hallo,
ich habe ein VBA Script, welches weitere Teile mittels "Call" aufruft.
Die Scriptteile nehmen ein Tabellenblatt und kopieren dies in eine andere Excel-Datei und füllen dann einige Daten auf.
Dann wird das nächste Blatt kopiert...wieder in die selbe, andere Excel-Datei und wieder werden weitere Daten aufgefüllt.
Das kopierte Tabellenblatt ist im Grunde ein Muster.
Wie das kopierte Blatt umbenannt und welche Daten reingeschrieben werden sollen steht in der Masterdatei, welche eben auch das Muster mit enthält.
Das ganze wird im Master Zeile für Zeile abgearbeitet:
If (.Cells(lngZ, 1)) = "VRCom" And (.Cells(lngZ, 3)) = "leer" Then
Worksheets("VRC_leer_Muster").Copy After:=Sheets(1)
Mein Problem:
Wenn lngZ den Wert 249 angenommen hat, dann bekomme ich den Fehler (Laufzeitfehler 1004).
lngZ beginnt mit 4...nur so zur Info
Was mich wundert, wenn ich den Scriptteil in dem dies geschieht allein laufen lasse, dann bekomme ich diesen Fehler nicht. Wenn aber wie in meinem Script dies der 3 Call-Aufruf ist, dann bleibt das Script bei 249 hängen.
Woran kann das denn liegen? Kann ich das irgendwie beheben?
Die Zeile die dann bemängelt wird ist:
Worksheets("VRC_leer_Muster").Copy After:=Sheets(1)
Danke fürs helfen...
Der Tom

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Laufzeitfehler 1004 - Copy
09.09.2009 14:16:53
David
Hallo Tom
wie hast du lngZ dimensioniert?
Gruß
David
AW: Laufzeitfehler 1004 - Copy
09.09.2009 15:20:47
Tom
Die Frage ist gut...
Sagen wir mal so...ich glaube nein...
Was mich zur Frage führt...wie mach ich das?
Der Tom
AW: Laufzeitfehler 1004 - Copy
09.09.2009 15:34:20
David
Dim *Variable* As *Typ*
Bei Zeilen empfiehlt sich Double, da maximal 65500 Zeilen möglich sind.
Die einzelnen Typen kannst du dir über die Hilfe anschauen.
Gruß
David
AW: Laufzeitfehler 1004 - Copy
09.09.2009 16:02:06
Tom
Danke...
aber wenn
Dim lngZ As Double
gemeint ist, dann funktioniert das leider nicht und ich bekomme den selben Fehler.
Der Tom
AW: Laufzeitfehler 1004 - Copy
09.09.2009 16:05:43
David
War nur eine Vermutung von mir, da sich die Fehlermeldung bei einem Wert von rund 250 nach Definition eines Byte-Wertes angehört hat.
Kann ich dir leider nicht weiterhelfen, meine VBA-Kenntnisse sind auch nur "bescheiden".
Gruß
David
PS: Sinnvoll wäre es, wenn du den kompletten Code postest, da man sonst schwer den Fehler finden kann.
Anzeige
AW: Laufzeitfehler 1004 - Copy
09.09.2009 16:43:52
JogyB
Hi.
Wieso soll sich da Double empfehlen? Ich wüßte nicht, welche Nachkommastellen eine Zeilennummer haben sollte. Wenn schon, dann empfiehlt sich Long.
Zum eigentlichen Problem: Eine Beispieldatei würde helfen.
Gruss, Jogy
AW: Laufzeitfehler 1004 - Copy
09.09.2009 16:52:05
David
Hast ja Recht (und wer Recht hat, bezahlt!) ;-)
Hab ich verwechselt, was an der Nicht-Lösung des Problems aber sicher nix ändert.
Gruß
David
AW: Laufzeitfehler 1004 - Copy
09.09.2009 17:07:14
Tom
Hallo,
hier mal der Schnipsel...
Sub Test()
Dim lngZ As Long
'Ab hier werden die Tarifblätter erstellt.
Ordnername = Date & "_" & "Tarifmatrix"
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=Ordnername & "\Firma-Tarifmatrix.xls"
Dateiname = Ordnername & "\Firma-Tarifmatrix.xls"
UserName = Environ("Username")
Dateivoll = "C:\Dokumente und Einstellungen\" & UserName & "\Eigene Dateien\" & Dateiname
Workbooks("Tarifmatrix-DSS.xls").Sheets("Tarifstamm").Activate
With ThisWorkbook.Sheets("Tarifstamm")
For lngZ = 4 To .Cells(.Rows.Count, 1).End(xlUp).Row
If (.Cells(lngZ, 1)) = "Firma" And (.Cells(lngZ, 3)) = "P" Then
Sheets("Firma_PS_Muster").Copy After:=Sheets(1)
ActiveSheet.Name = "Firma_ " & (.Cells(lngZ, 3)) & "_" & (.Cells(lngZ, 2))
Tarifblatt = "Firma_ " & (.Cells(lngZ, 3)) & "_" & (.Cells(lngZ, 2))
Sheets(Tarifblatt).Copy After:=Workbooks("Firma-Tarifmatrix.xls"). _
Sheets(3)

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige