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

Kopieren- Laufzeitfehler 9

Kopieren- Laufzeitfehler 9
22.01.2022 11:33:11
André
Schönen guten Tag,
Ich starte ein Makro in einer Exceldatei und möchte aus dem vba makro eine neue Exceldatei öffnen, um von dort mir spezielle Werte zu kopieren.
Mein Code funktioniert bis zum Aufrufen der alten Excel. Bei Auswählen des Tabs, erhalte ich dann jedoch eine Fehlermeldung, siehe Kommentar.
Hat jemand eine Idee, woran das liegen kann?

Sub Test_()
Exceldatei_import = ActiveWorkbook.Name 'Name aktuelle Exceldatei= Zieldatei (=Excel Import)
Dateien = Application.GetOpenFilename 'Öffnet die neue Exceldatei = Export_export
Set Exceldatei_export = Workbooks.Open(Dateien, local:=True) ' setzt dei neue Excel-Datei
Exceldatei_export = ActiveWorkbook.Name
Zeilenzahl = Range("D1").CurrentRegion.Rows.Count ' Zählt die Zeilen
Range("D2:M" & Zeilenzahl).Select ' Markiert aus Exel_export alle Zeilen ab Eintrag xx
Selection.Copy 'Kopiert alle markierten Werte
Set Exceldatei_import = ActiveWorkbook ' Setzt Excel_import als aktuelles Workbook
Sheets("Seite2").Active ' Setzt den Tab aktiv FEHLER____Laufzeitfehler 9
Range("A2:J" & Zeilenzahl).Select 'Wählt in dem Tab die Zeilen aus
ActiveSheet.Paste ' Kopiert die Zeilen hinein
Set Exceldatei_export = ActiveWorkbook ' Setzt Excel_export als aktives Workbook
ActiveWorkbook.Close True ' schließt das aktuelle Workbook FEHLER______schließt das falsche Excelfenster!
Set Exceldatei_import = ActiveWorkbook ' Setzt Excel_import wieder als aktives Workbook
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren- Laufzeitfehler 9
22.01.2022 11:49:02
Oberschlumpf
Hi,
in Datei "Excel_import" gibt es auch eine Tabelle mit dem Namen "Seite2" ?
Denn dein Code will Tabelle "Seite2" in Datei "Excel_import" anzeigen - DAS funktioniert aber nur, wenn es die angesprochene Tabelle mit dem Namen auch gibt.
Wenn "Seite2" als Tabelle nicht vorhanden, dann entweder Tabellenname anpassen oder im Code den richtigen Namen der Tabelle eintragen.
Hilfts?
Wenn nein, zeig bitte per Upload Bsp-Dateien + Bsp-Daten + dein VBA-Code, so dass man dein Problem verstehen kann.
Ciao
Thorsten
AW: Kopieren- Laufzeitfehler 9
22.01.2022 18:00:02
André
Hallo Thorsten,
ich habe es gerade nochmal überprüft, konnte aber keine Unstimmigkeit finden.
Ich habe zwei Dateien hochgeladen, einmal die Datei mit dem Makro und einmal eine, die man dann während des Öffnens auswählen kann (=Export Datei).
Datei mit Makro: https://www.herber.de/bbs/user/150592.xlsm
Datei Excel_Export: https://www.herber.de/bbs/user/150593.xlsx
Anzeige
AW: Kopieren- Laufzeitfehler 9
23.01.2022 11:13:02
Oberschlumpf
Hi Andre,
nach Öffnen deiner XLSX-Datei ist genau diese XLSX-Datei das AKTIVE Workbook.
Alle deiner folgenden Befehle beziehen sich, so wie du programmiert hast, immer auf das jeweils aktive Workbook - so auch die Zeile Sheets("Seite2")...
ABER in deiner gerade geöffneten XLSX-Datei (=AKTIVES Workbook) gibt es - nicht - die Tabelle mit Namen "Seite" !!!
Deswegen kommts zum Fehler 9 (du musst nich die Fehlertexte mitteilen - aber es kann super helfen!!!^^)
Ersetz deinen ganzen Code durch diesen hier:

Sub Test_()
Exceldatei_import = ActiveWorkbook.Name 'Name aktuelle Exceldatei= Zieldatei (=Excel Import)
Dateien = Application.GetOpenFilename 'Öffnet die neue Exceldatei = Export_export
Set Exceldatei_export = Workbooks.Open(Dateien, local:=True) ' setzt dei neue Excel-Datei
Exceldatei_export = ActiveWorkbook.Name
Zeilenzahl = Range("D1").CurrentRegion.Rows.Count ' Zählt die Zeilen
Range("D2:M" & Zeilenzahl).Copy ThisWorkbook.Sheets("Seite2").Range("A2")
ActiveWorkbook.Close True ' schließt das aktuelle Workbook FEHLER______schließt das falsche Excelfenster!
End Sub
die fettgedruckte Codezeile reicht aus, im Vergleich zu deinen vielen Zeilen zuvor, um die Daten in XLSX zu kopieren und in Makro-Datei - in Seite2 - einzufügen.
XLSX-Datei wird dann auch wieder geschlossen - das TRUE könntest du auch gegen FALSE austauschen. Denn TRUE speichert die XLSX-Datei - das is aber nich notwendig, denn in XLSX-Datei wird ja nix geändert...mit FALSE wird XLSX-datei einfach nur geschlossen - ohne diese zu speichern
Ciao
Thorsten
Anzeige
AW: Kopieren- Laufzeitfehler 9
23.01.2022 11:34:51
André
Vielen Dank für die tolle Erklärung!!
gerne :-) bis zum nächsten Mal...owT
23.01.2022 11:45:28
Oberschlumpf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige