Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige