Zusammenführen von Ranges in Workbook
01.04.2020 14:57:16
Ranges
für ein Projekt muss ich zentrales Register (Excel) erstellen, dass sich aus diversen Excel-Workbooks speist.
Der Trick dabei ist, dass das zentrale Register bereits besteht. Die einzelnen Input-Workbooks sind gleich gestaltet, ich brauch aber nur einen Teil aus den einzelnen Workbooks. Diesen habe ich als Bereich/Range benannt ("Upload1")
Ich habe diverse Beiträge gelesen und schaffe es zumindest die Dialogbox (mit Multiselect) für die Auswahl der Importfiles zu öffnen. Ich finde aber keine Lösung dafür, dass die jeweiligen benannten Bereiche aus den Importfiles kopiert werden und in den (ebenfalls definierten Bereich) des Zielregisters zu kopieren. Leere Zeilen im Bereich müssten aus Übersichtsgründen ausgelassen werden. Alle Daten befinden sich jeweils auf dem 1.Arbeitsblatt der Workbooks (sowohl Inputfiles, als auch das Zielregister).
Aus Verzweifelung habe ich es auch mit Power Query versucht, komme hier aber auch nicht zum gewünschten Ergebnis. Präferiert wäre aber ein Makro, sodass mein Abnehmer lediglich den Button drückt und sich das Register dann anhand der ausgewählten Dateien aktualisiert.
Hat jemand damit Erfahrungen oder kann mir da ein paar Tipps geben? Ich wäre unendlich dankbar!
Ich vermute, dass es u.a. mit Range.Copy klappen könnte, weiß aber auch nicht, wie ich den Zielbereich im zentralen Register definiere.
Bisher habe ich folgenden Code geschrieben. Ich glaube die Definitionen könnten fehlerhaft sein, _ ich bin leider ein VBA-Anfänger (weiterführenden gescheiterten Code habe ich entfernt):
Sub Registerupload2()
'Definitionen
Dim Dateienauswählen As Variant
Dim AusgewählteDateien As String
Dim Uploadmappe As Workbook
Dim Zentralregister As Workbook
Set Zentralregister = ThisWorkbook
'Bildschirmflackern und Fehlermeldungen ausschalten
Application.ScreenUpdating = False 'Bildschirm flackern aus
Application.DisplayAlerts = False 'keine Fehlermeldungen während Upload
'Dialogbox zum Auswählen der Abteilungsregister:
Dateienauswählen = Application.GetOpenFilename(FileFilter:="Excel Files (*.xl*), *.xl*", _
Title:="Wählen Sie die Dateien für den Upload aus", _
MultiSelect:=True)
'Öffnen der ausgewählten Workbooks
Dateienauswählen = AusgewählteDateien
Set Zentralregister = Application.Workbooks.Open(AusgewählteDateien)
'Bildschirmflackern und Fehlermeldungen einschalten
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub