06.11.2018, 17:27 
(Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2018, 18:00 von WillWissen.
 Bearbeitungsgrund: Formatierung & Codetags
)
		
	
	
		Grüezi,
Leider scheitere ich wieder an meinen mangelhaften Makro Kenntnissen
  und hoffe das vielleicht einer von euch mir die Augen öffnen könnte. 
 
Ich möchte per VBA ganze Zeilen aus mehrehren Dateien in eine Datei Kopieren.
Beispiel:
Aus - Mappe1 / D5 – W5 - > in – Mappe Test / E8 – X8
Aus - Mappe2 / B3 – U3 - > in – Mappe Test / E9 – X9
Aus - Mappe2 / A8 – T8 - > in – Mappe Test / E10 – X10
 
Ich habe auch Formeln gefunden und anpassen können, nur nicht soweit, dass der Code alles so wie erwartet umsetzt.
 
  
Diese Formel funktioniert soweit, dass in eine andere Zelle Kopiert wird als ausgelesen.
Allerdings nicht Zeilen weise. Und um jede einzelne Zelle im Code zu beschreiben wären
es einfach zu viele Daten.
 
Und mit dieser Formel werden die Zellen Zeilen weise (D5:L5) kopiert.
Allerdings gelinkt es mir nicht, die Werte in eine Anderen Zeilen Reihe zu kopieren (D5:L5 > C8:K8)
und auch nicht das mehre Dateien angesprochen werden.
 
Hat jemand vielleicht einen Tipp?
 
Ich habe irgendwie ein Brett vorm Kopf :20:
Danke
Tyler
	
	
	
	
Leider scheitere ich wieder an meinen mangelhaften Makro Kenntnissen
  und hoffe das vielleicht einer von euch mir die Augen öffnen könnte. 
 Ich möchte per VBA ganze Zeilen aus mehrehren Dateien in eine Datei Kopieren.
Beispiel:
Aus - Mappe1 / D5 – W5 - > in – Mappe Test / E8 – X8
Aus - Mappe2 / B3 – U3 - > in – Mappe Test / E9 – X9
Aus - Mappe2 / A8 – T8 - > in – Mappe Test / E10 – X10
Ich habe auch Formeln gefunden und anpassen können, nur nicht soweit, dass der Code alles so wie erwartet umsetzt.
Code:
Public Sub Worksheet_Activate()
    Dim strPath As String, strFile As String
    strPath = " C:\Ordner\Dateien "
    strFile = "Mappe1.xlsx"
    Worksheets(1).Range("A10").Value = GetValue(strPath, strFile, "Tabelle1", "A1")
    Worksheets(1).Range("E2").Value = GetValue(strPath, strFile, "Tabelle3", "D5")
    
    strPath = "C:\Ordner\Dateien"
    strFile = "Mappe2.xlsx"
    Worksheets(1).Range("C18").Value = GetValue(strPath, strFile, "Tabelle3", "D5")
End Sub
Private Function GetValue(ByVal path As String, ByVal file As String, ByVal sheet As String, ByVal ref As String) As String
    Dim arg As String
    arg = "'" & path & "\[" & file & "]" & sheet & "'!" & Range(ref).Address(, , xlR1C1)
    GetValue = ExecuteExcel4Macro(arg)
End FunctionDiese Formel funktioniert soweit, dass in eine andere Zelle Kopiert wird als ausgelesen.
Allerdings nicht Zeilen weise. Und um jede einzelne Zelle im Code zu beschreiben wären
es einfach zu viele Daten.
Code:
Public Sub CommandButton1_Click()
  Dim Dateiname As String
  Dim sPfad As String
  Dim rngZelle As Range
  Dateiname = "Mappe2.xlsx"
  sPfad = " C:\Ordner\Dateien \"
  For Each rngZelle In Range("D5:L5")
    rngZelle = GetValue(sPfad, Dateiname, "Tabelle3", rngZelle.Address)
  Next rngZelle
End Sub
 
Public Function GetValue(path$, file$, sheet$, range_ref$)
  Dim arg As String
  If Right(path, 1) <> "\" Then path = path & "\"
  If Dir(path & file) <> "" Then
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
      Range(range_ref).Range("A1").Address(, , xlR1C1)
    GetValue = ExecuteExcel4Macro(arg)
  End If
End FunctionUnd mit dieser Formel werden die Zellen Zeilen weise (D5:L5) kopiert.
Allerdings gelinkt es mir nicht, die Werte in eine Anderen Zeilen Reihe zu kopieren (D5:L5 > C8:K8)
und auch nicht das mehre Dateien angesprochen werden.
Hat jemand vielleicht einen Tipp?
 Ich habe irgendwie ein Brett vorm Kopf :20:
Danke
Tyler

![[-]](https://www.clever-excel-forum.de/images/collapse.png)
