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

Datei öffnen und Inhalt einfügen

Datei öffnen und Inhalt einfügen
17.03.2021 10:41:41
Dave
Hallo zusammen,
folgender Sachverhalt. Ich will eine Datei bearbeiten (Code habe ich schon) und den bearbeiteten Inhalt in eine "Vorlage" einfügen. Diese "Vorlage" will ich öffnen, den Inhalt einfügen und die Vorlage als .CSV abspeichern.
Habe das ganze mal mit dem Recorder aufgenommen, allerdings wenn ich jetzt den ganzen Code laufen lasse, kommt "Laufzeitfehler '1004' ".
Mein Code sieht wie folgt aus:
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Workbooks.Open "C:\ "hier kommt der Pfad".xlsx"
Windows("Vorlage").Activate
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Dim NeuerName As String
NeuerName = Range("M1")
ActiveWorkbook.SaveAs "C:\"hier kommt der Speicherpfad\" & NeuerName, FileFormat _
:=xlCSV, CreateBackup:= False

Der Fehler kommt immer sobald der Code von Range("A2").Select auf Selection.PasteSpecial springt.
Kann mir hier jemand weiterhelfen, wo der Fehler liegt? Ich stehe nämlich maximal auf dem Schlauch o.O.
Vorab vielen Dank!
Dave

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

Betreff
Datum
Anwender
Anzeige
AW: Datei öffnen und Inhalt einfügen
17.03.2021 11:21:10
ralf_b
Moin,
zum einen lass das Select weg wo es geht.
dann könnte es o gehen. ungetestet.
dim wb as Workbook
set wb = Workbooks.Open "C:\ "hier kommt der Pfad".xlsx"
wb.Sheets(1).Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


AW: Datei öffnen und Inhalt einfügen
17.03.2021 11:45:30
Dave
Hi Ralf,
danke dir, bekomme allerdings ne Fehlermeldung bei
set wb = Workbooks.Open "C:\ "hier kommt der Pfad".xlsx"

"Erwartet: Anweisungsende"
Habe alles nach dem = von meinem vorherigen Code kopiert, bei welchem sich die Datei öffnen lässt o.O
Und noch ne Frage aus Interesse, wo ist das "Problem" bei dem Select? Ist das kein guter Stil oder ist das fehleranfällig?

Anzeige
AW: Datei öffnen und Inhalt einfügen
17.03.2021 11:49:25
ralf_b
set wb = Workbooks.Open( "C:\ "hier kommt der Pfad".xlsx")

AW: Datei öffnen und Inhalt einfügen
17.03.2021 13:50:09
Dave
Okei danke dir, muss ich dann am Ende bei
ActiveWorkbook.SaveAs "C:\"hier kommt der Speicherpfad\" & NeuerName, FileFormat _
:=xlCSV, CreateBackup:= False
das ActiveWorkbook mit wb ersetzten und den Pfad auch wieder in Klammer packen?

AW: Datei öffnen und Inhalt einfügen
17.03.2021 14:04:18
ralf_b
Das wäre ratsam, aber nicht zwingend notwendig. Wenn activeworkbook noch die selbe Datei ist wie die von wb representierte muß es nicht ersetzt werden.
die Klammer kommt hin wenn der Rückgabewert einer Funktion mittels "=" einem Objekt zugewiesen wird.
Sonst weis Excel nicht was alles zum Funktionaufruf dazugehört.
Also hier nicht notwendig.

Anzeige
AW: Datei öffnen und Inhalt einfügen
17.03.2021 14:15:18
Dave
okei dann bin ich wohl zu blöd...
Habe das eigentlich alles so gelassen, und ActiveWorkbook ist immer noch identisch mit wb.
Da wird quasi das Template geöffnet, die Daten eingefügt und dann soll das Template eben unter einem neuen Pfad abgespeichert werden mit dem Namen in ("M1").
Allerdings kommt wieder Laufzeitfehler 1004 - Anwendungs- und Objektdefinierter Fehler
     ActiveWorkbook.SaveAs "C:\"hier kommt der Speicherpfad\" & NeuerName, FileFormat _
:=xlCSV, CreateBackup:= False
Habe alles gelassen wie hier

AW: Datei öffnen und Inhalt einfügen
17.03.2021 14:27:31
ralf_b
"C:\hier kommt der Speicherpfad\" & NeuerName check doch mal den Pfad.
das hier sieht komisch aus "C:\"h...

Anzeige
AW: Datei öffnen und Inhalt einfügen
17.03.2021 15:58:03
Dave
Habe jetzt nochmal alles mit dem Recorder getestet, habe einen Code
Dim neuerName As String
neuerName = Range("A1")
Range("J15").Select
ChDir "C:\Users\XXX\Documents\XXX"
ActiveWorkbook.SaveAs Filename:="C:\Users\XXX\Documents\XXX\" & neuerName, FileFormat:=xlCSV, CreateBackup:=False
Mit dem funktioniert es, die Datei wird unter dem Pfad mit dem Namen in A1 abgespeichert - wenn ich das aber 1:1 in meine richtige Datei übernehme, funktioniert es nicht :D
Es hängt glaub ich mit dem "neuerName" zusammen, wobei ich mir da nicht sicher bin...
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige