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

Zweites Workbook öffnen und Daten Importieren

Zweites Workbook öffnen und Daten Importieren
18.01.2019 08:30:50
Marc.H
Hallo Zusammen
Für die Arbeit will ich Daten der letzten fünf Projekte miteinander vergleichen um daraus eine Kennzahl für Termineinhaltung und Kosteneinhaltung zu erhalten.
Dafür habe ich im Wb1 sechs Tabellen(5 Projekte + 1 Vorlage) gestaltet, die per
Makro rotiert werden. Bedeutet: Tabelle 4 wird zu 5, 3 zu 4, etc. und Tabelle 1 wird frei.
Nun möchte ich via ein Browserfenster das neue Projekt(Wb2) auswählen und daraus eine Tabelle (sagen wir Tabelle 1) bzw. deren Inhalt ins nun leere Projekt im Wb1 kopieren.
Die Rotation der Projekte und das öffnen des Suchfensters habe ich mir schon erarbeitet jedoch fehlt nun noch der wichtigste Teil, das einfügen der neuen Informationen.
Hoffe ihr könnt mir hierbei weiterhelfen.
Hier der Code(Ich habe zwei Versionen um das Suchfenster zu öffen, welche ist sinnvoller?):
Sub Tabellen_import_test()
Dim Appshell As Object
Dim Browsedir As Variant, Pfad As Variant
Dim wb1 As Workbook, wb2 As Workbook
Dim strFileName As String, strFilter As String
Pfad = ("T:\05_UP\01_FA\03_Projekte")
'Tabellen rotieren um Werkzeug 1 frei zu machen
Worksheets("Werkzeug 4").Range("A1:P90").Copy Destination:=Worksheets("Werkzeug 5").Range("A1")
Worksheets("Werkzeug 3").Range("A1:P90").Copy Destination:=Worksheets("Werkzeug 4").Range("A1")
Worksheets("Werkzeug 1").Range("A1:P90").Copy Destination:=Worksheets("Werkzeug 2").Range("A1")
Worksheets("Vorlage").Range("A1:P90").Copy Destination:=Worksheets("Werkzeug 1").Range("A1")
'********* browserfenster öffnen 1
Set Appshell = CreateObject("shell.application")
Set Browsedir = Appshell.browseforfolder(o, "ordner wählen", 0, (Pfad))
'#########browserfenster öffnen 2
'strFilter = "Excel-Dateien(*.xl*), *.xl*"
'ChDrive "T"
'ChDir "T:\05_UP\01_FA\03_Projekte"
'strFileName = Application.GetOpenFilename(strFilter)
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zweites Workbook öffnen und Daten Importieren
19.01.2019 21:48:57
Dieter
Hallo Marc,
wenn ich dein Problem richtig verstehe, dann kannst du das mit dem folgenden Programm machen
(wb1 ist die Arbeitsmappe, in der das Programm steht):
Sub Tabellen_import_test()
Dim fd As FileDialog
Dim i As Long
Dim Pfad As String
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws As Worksheet
Dim strFileName As String
Pfad = "T:\05_UP\01_FA\03_Projekte"
'Tabellen rotieren um Werkzeug 1 frei zu machen
Set wb1 = ThisWorkbook
For i = 4 To 1 Step -1
wb1.Worksheets("Werkzeug " & i).Range("A1:P90").Copy _
Destination:=wb1.Worksheets("Werkzeug " & i + 1).Range("A1")
Next i
wb1.Worksheets("Vorlage").Range("A1:P90").Copy _
Destination:=wb1.Worksheets("Werkzeug 1").Range("A1")
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.AllowMultiSelect = False
fd.InitialFileName = Pfad
With fd.Filters
.Clear
.Add Description:="Excel-Dateien", _
Extensions:="*.xl*"
End With
If fd.Show = 0 Then
MsgBox "Benutzerabbruch"
Exit Sub
End If
strFileName = fd.SelectedItems(1)
Set wb2 = Workbooks.Open(Filename:=strFileName)
Set ws = wb2.Worksheets(1)
ws.Range("A1:P90").Copy Destination:=wb1.Worksheets("Werkzeug 1").Range("A1")
wb2.Close SaveChanges:=False
End Sub

Anstelle deiner beiden Dateibrowser-Alternativen schlage ich vor, den FileDialog zu nehmen.
https://www.herber.de/bbs/user/126938.xlsm
Viele Grüße
Dieter
Anzeige
AW: Zweites Workbook öffnen und Daten Importieren
21.01.2019 09:01:47
Marc.H
Hallo Dieter,
Vielen Dank für deine Antwort, damit hast du mein Problem perfekt gelöst!!
Der Pfad ist bei der Ausführung zwar noch falsch, Makro greift immer auf den "Dokumente" Ordner zu, das kann ich jedoch auch selbst noch ändern.
Nochmals Danke und einen guten Start in die Woche!
Liebe Grüsse
Marc

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige