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

Excel VBA: Excel öffnen&Daten kopieren

Excel VBA: Excel öffnen&Daten kopieren
12.11.2021 15:05:44
Maria
Hallo zusammen,
Ich bin noch ganz am Anfang mit meinen vba Kenntnissen, hätte aber einen Anwendungsfall in dem ich gerne eine Dateneingabe automatisieren würde aber leider einfach nicht den richtigen Weg finde.
Ziel wäre:
Ich habe eine Exceldatei in die ich verschiedene Daten aus anderen Exceldateien reinkopieren will.
Die Daten die ich kopieren will sind immer in bestimmten Zellen, allerdings in vielen verschiedenen Dateien.
Ich würde nun gerne in meine Zieldatei gehen, dort das Makro starten, über das Makro eine Abfrage bekommen und eine der "Quelldateien" öffnen, dann in der geöffneten Quelldatei in der aktiven Registerkarte den Blattschutz aufheben und (beispielsweise) den Wert und das Format aus B4 in die Zieldatei in die erste freie Zeile, Spalte A kopieren, dann in der Quelldatei, C1 kopieren und in die Zieldatei, (gleiche Zeile) Spalte B kopieren.
Danach sollte die Quelldatei geschlossen werden ohne die Änderungen zu speichern.
Für die "nächste" Quelldatei würde ich dann wieder das Makro starten wollen, die Abfrage bekommen welche "Quelldatei" ich öffnen will und dann wieder aus der "neuen" Quelldatei dieselben Zellen kopieren (eben in die nächste freie Zeile der Zieldatei).
Leider bekomme ich bei meinem Versuch immer Fehlermeldungen:
Mein Code sah bisher so aus:

Sub Abgrenzungsforecast_importieren()
'Varibalen deklarieren
Dim Quelldatei As Workbook
Dim Zieldatei As Worksheet
Dim lLetzteReiheZieldatei As Long
Dim Importfile As String
Set Zieldatei = Workbooks("Abgrenzungsforecast.xlsx").Worksheets("Tabelle1")
'Letzte Zeile der Zieldatei finden
lLetzteReiheZieldatei = Zieldatei.Cells(Zieldatei.Rows.Count, "A").End(xlUp).Offset(1).Row
'Abfrage welche Datei geöffnet werden soll
Importfile = Application.GetOpenFilename("Exceldateien (*.xlsx*),.xls*", , "Bitte die zu importierenden Daten wählen")
'Datei öffnen
Workbooks.Open (Importfile)
Set Quelldatei = ThisWorkbook
MsgBox (ActiveWorkbook.Name & " wurde geöffnet!"), vbInformation
' Blattschutz_aufgeben
Quelldatei.Unprotect
'Datenkopieren
Quelldatei.ActiveSheet.Range("B4").Copy
Zieldatei.Range("A" & lLetzteReiheZieldatei).PasteSpecial Paste:=xlValues
Zieldatei.Range("A" & lLetzteReiheZieldatei).PasteSpecial Paste:=xlPasteFormats
Ja weiter bin ich leider noch nicht und hier habe ich schon Fehler.
Wie kann ich denn für die Datei die ich öffne (Quelldatei) irgendwie einen "Namen" vergeben? ich weiß ja irgendwie im Code noch nicht ob die jetzt z.B. Daten Projekt1.xlsx, Frau Müllers Katze.xls oder sonst wie heißt.
Set Quelldatei = ThisWorkbook scheint nicht zu funktionieren. Beim Testen bekomme ich es noch hin dass ich eine Datei auswählen kann, sie öffnen kann und die MsgBox bekomme, aber dann tut sich nichts mehr weiter.
Wäre sehr dankbar wenn mir jemand verraten könnte wie ich die Quelldatei "bezeichnen" bzw. auf die Referenzieren kann damit ich die im Code benutzen kann.
Vielen Dank vorab

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

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA: Excel öffnen&Daten kopieren
12.11.2021 22:48:38
ralf_b
Hallo Maria,
so aus der Ferne kann man nicht sehen welche Fehler bei dir auftreten. Die Quelldatei ist nicht Thisworkbook. Thisworkbook ist die Mappe in der der Code läuft.
Hier mal eine Idee

Importfile = Application.GetOpenFilename .....
If Importfile  False Then
Set Quelldatei = Workbooks(Importfile)
MsgBox Quelldatei .Name & " wurde geöffnet!", vbInformation
end if 

AW: Excel VBA: Excel öffnen&Daten kopieren
15.11.2021 10:44:03
Maria
Danke für deine Hilfe,
Leider bekomme ich den Fehler "Laufzeitfehler 13... Typen unverträglich "
Beim Debuggen springt es auf die Zeile

If Importfile  False Then
ich hatte die "Dim Importfile As String" --> Dachte das muss so sein damit ich die Abfrage machen kann welche Datei geöffnet werden soll - war das falsch?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige