Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
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

Range Copy Paste führt zu Laufzeitfehler

Range Copy Paste führt zu Laufzeitfehler
25.05.2020 15:00:52
Rasenack
Hallo liebe Helfer,
eigentlich wollte ich in meinem Code nur die erste Zeile aus einem Tabellenblatt in ein davor neu erstelltes Tabellenblatt kopieren. Grund dafür ist, dass die Überschriften und Formate übertragen werden sollen. Das Tabellenblatt hat den Namen des aktuellen Jahres. Das wird fortlaufend weitergeführt für die nächsten Jahre. Ich stoße allerdings auf ein Problem und komme nicht weiter.
Die Zeile in der er kopieren und einfügen soll führt zum Laufzeitfehler 1004. Ich habe nun schon die letzte Spalte als separate Variable anzulegen, um auszuschließen, dass diese den Fehler verursacht. Er ermittelt die 19 auf dem vorherigen Tabellenblatt. Im Direktbereich zeigt mir der Debugger für das Konstrukt mit dem Index + 1 eine 2 an, was ja auch stimmt. Könnt ihr mir eventuell helfen? Ich wäre für jede Hilfe dankbar.
Vielen Dank im Voraus!
Freundliche Grüße
André

dateiname = "Teilauszahlung.xlsx"
Set fl_1 = ThisWorkbook.Worksheets(1) 'Aus anderer Datei das Blatt 1
blattName = CStr(Year(fl_1.Cells(mieterzeile, kuendigung_zum).Value)) 'Blattname im Debugger  _
ist 2020 wie gewünscht
With Workbooks(dateiname)
.Sheets.Add before:=Sheets(Worksheets.Count)
.ActiveSheet.name = blattName
leSpalte = .Worksheets(.Worksheets(blattName).Index + 1).Cells(1, Columns.Count).End( _
xlToLeft).Column
.Worksheets(.Worksheets(blattName).Index + 1).Range(Cells(1, 1), Cells(1, leSpalte)).Copy _
Destination:=.Worksheets(blattName).Range("A1")
Application.CutCopyMode = False
End With

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range Copy Paste führt zu Laufzeitfehler
25.05.2020 15:36:55
Rudi
Hallo,
der Code ist ein bisschen wirr.
Parobier mal:
  With Workbooks(DateiName)
.Worksheets.Add before:=.Worksheets(.Worksheets.Count)
.ActiveSheet.Name = BlattName
leSpalte = .Worksheets(.Worksheets.Count).Cells(1, Columns.Count).End(xlToLeft).Column
.Worksheets(.Worksheets.Count).Range(Cells(1, 1), Cells(1, leSpalte)).Copy _
Destination:=.Worksheets(BlattName).Range("A1")
Application.CutCopyMode = False
End With

Gruß
Rudi
AW: Range Copy Paste führt zu Laufzeitfehler
25.05.2020 18:39:45
Rasenack
Danke erstmal für deine Hilfe! Wenn ich das richtig sehe, würde doch jetzt immer vom letzten Tabellenblatt der Bereich kopiert werden. Besser wäre es aber, wenn der Bereich des Tabellenblattes kopiert wird, welcher sich direkt auf dem vorherigen Blatt befindet. Ich kann mir vorstellen, dass es sich im Laufe der Zeit mal ändert und dann soll das aktuellste Blatt übertragen werden. Also angenommen man befindet sich im Jahr 2025, dann müsste der Bereich aus 2024 übertragen werden usw.
Freundliche Grüße
André
Anzeige
AW: Range Copy Paste führt zu Laufzeitfehler
26.05.2020 14:15:13
Rudi
Hallo,
mit
    .Worksheets.Add before:=.Worksheets(.Worksheets.Count)

fügst du das neue Blatt als vorletztes ein.
Ergo ergibt dein Ursprungscode mit .Index+1 das letzte Blatt.
Äußere dich mal genauer.
Gruß
Rudi

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige