Daten von einem xls in anderes xls an das Ende kop

Bild

Betrifft: Daten von einem xls in anderes xls an das Ende kop
von: Andrea Bauer
Geschrieben am: 27.08.2015 13:48:55

Liebe Excel-Community,
ich hoffe, ihr könnt mir helfen. Ich stehe vor einem Problem, das hoffentlich nicht allzu schwer zu lösen ist.
Ich habe eine Datei, aus der bestimmte Zellen in ein anderes Excel kopiert werden sollen (Masterdatei). Allerdings nicht in exakt die gleichen Zellen sondern in andere - und das ganze noch ans Ende der Datei gestellt.
Ich habe schon im Internet gestöbert und bin auf ein Makro gestoßen, das fast meine Bedürfnisse erfüllt, aber ich komme einfach nicht auf Fehler drauf und stehe an..
Änderungen zu diesem Makro:
1. Die Masterdatei sollte von Anfang offen sein.
2. Die Daten aus B14, B18 und B19 sind immer gleich, jedoch kann D30 und auch E30 auch mehrere Zeilen umfassen, also z.B. D30:D32. Dann sollten alle 3 Einträge kopiert und untereinander eingefügt werden. Idealerweise werden dann B14, B18 und B19 auch gleich 3 mal untereinander kopiert und nicht nur einmal.
3. Die Masterdatei sollte dann gespeichert werden, aber nicht geschlossen.
Danke schon mal,
lG Andrea
'Pfad zur Masterdatei festlegen:
Const MasterDat As String = "\\Atvimemfil01\groups\@PUBLIC\HEART\check file.xlsm"
Dim wsQuelle As Worksheet
Dim wsMasterTab As Worksheet
Dim lngZeile As Long, rngTmp As Range
'Festlegen aus welchem Tabellenblatt die Daten kopiert werden sollen
Set wsQuelle = ActiveSheet
'Masterdatei öffnen
Set wsMasterTab = Workbooks.Open(MasterDat, UpdateLinks:=0).Worksheets("3rd party")
'Daten übernehmen
With wsMasterTab
'freie Zeile finden
Set rngTmp = .Cells.Find("*", , , , xlByRows, xlPrevious)
If Not rngTmp Is Nothing Then
lngZeile = rngTmp.Row + 1
Else
lngZeile = 2
End If
'Daten übernehmen B14 in Spalte A, B19 in B, B18 in C, D30 bis Dxy in Spalte D, E30 bis Exy in Spalte F
.Range(.Cells(lngZeile, 1), .Cells(lngZeile, 1)).Value = Application.Transpose(wsQuelle.Range("B14").Value)
.Range(.Cells(lngZeile, 2), .Cells(lngZeile, 2)).Value = Application.Transpose(wsQuelle.Range("B19").Value)
.Range(.Cells(lngZeile, 3), .Cells(lngZeile, 3)).Value = Application.Transpose(wsQuelle.Range("B18").Value)
.Range(.Cells(lngZeile, 4), .Cells(lngZeile, 4)).Value = Application.Transpose(wsQuelle.Range("D30:D" & wsQuelle.Cells(Rows.Count, 1).End(xlUp).Row).Value)
.Range(.Cells(lngZeile, 6), .Cells(lngZeile, 6)).Value = Application.Transpose(wsQuelle.Range("E30:E" & wsQuelle.Cells(Rows.Count, 1).End(xlUp).Row).Value)
End With
'Masterdatei speichern und schließen
wsMasterTab.Parent.Close SaveChanges:=True
Set wsMasterTab = Nothing
Set wsQuelle = Nothing
Set rngTmp = Nothing

Bild

Betrifft: Frage noch aktuell?
von: Michael
Geschrieben am: 30.08.2015 16:20:41
Hi Andrea,
ist die Frage noch aktuell?
Falls nicht: in welcher Datei befindet sich das Makro?
Zum Dateiöffnen und so Zeug kannst Du mal allg. überfliegen: https://www.herber.de/xlfaq/index.html
und insbesondere:
https://www.herber.de/mailing/Pruefen_ob_Arbeitsmappe_geoeffnet_und_wenn_nein_oeffnen.htm
Schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Daten von einem xls in anderes xls an das Ende kop"