ich habe nun den ganzen Morgen recherchiert und probiert, komme aber nicht wirklich ans Ziel.
Ich habe eine Datei (Zieldatei = immer fest) aus der ich per Makro eine andere Datei öffne (Quelldatei = immer variabel), und da aus einem Blatt ("Stammdaten") (auch immer gleich) dann aus verschiedenen Zellen (Worksheets("Stammdaten").Range("A9") + A21 + A48 + BH4 + BI4) die Werte rausziehe in das Zielblatt einsetze.
Das ganze funktioniert zwar mit meinem Code, allerdings möchte ich eine Verknüpfung und nicht nur die Werte.
Ich schaffe es (noch) nicht die variable Dateibezeichnung mit in die Formel einzubauen.
Anbei der Code mit aktuellem Stand:
Sub ImportTest()
Dim ImportDatei As Variant
Dim wbImport As Workbook
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect "xxxxxxx"
'hier wird die Spalte welche den letzten Wert enthalten soll, genannt
'letzte benutzte Zelle finden in Spalte BL (für Multiprojekte)
Dim LastRow As Long
Dim FirstNewRow As Long
LastRow = Cells(Rows.Count, 64).End(xlUp).Row 'letzte Zeile in Spalte bestimmen
FirstNewRow = LastRow + 1 'letzte Zeile + 1
ImportDatei = Application.GetOpenFilename(FileFilter:="Microsoft Excel-Dateien (*.xlsm), *.xlsm" _
, Title:="Eine Datei auswählen")
If ImportDatei = False Then Exit Sub
'Set wbImport = Workbooks.Open(ImportDatei) 'im Vordergrund öffnen
Set wbImport = GetObject(ImportDatei) 'im Hintergrund öffnen
wbImport.Worksheets("Stammdaten").Visible = True
wbImport.Worksheets("Stammdaten").Activate
'MsgBox wbImport.Name
'Daten aus Plan kopieren
Dim Name As String
Name = Left(wbImport.Name, Len(wbImport.Name) - 5)
'Name = wbImport.Name
'Dateiname und Pfad eintragen
ThisWorkbook.Sheets("Stammdaten").Cells(FirstNewRow, 63).Value = Name
'Projektname eintragen
ThisWorkbook.Sheets("Stammdaten").Cells(FirstNewRow, 64).Value = wbImport.Worksheets(" _
Stammdaten").Range("A6").Value
'Projektleiter eintragen
ThisWorkbook.Sheets("Stammdaten").Cells(FirstNewRow, 65) = wbImport.Worksheets("Stammdaten") _
.Range("A9")
'Projektstart eintragen
ThisWorkbook.Sheets("Stammdaten").Cells(FirstNewRow, 66).Formula = wbImport.Worksheets(" _
Stammdaten").Range("A21")
'Projektende eintragen
ThisWorkbook.Sheets("Stammdaten").Cells(FirstNewRow, 67) = wbImport.Worksheets("Stammdaten") _
.Range("A48")
'Anzahl Vorgänge eintragen
ThisWorkbook.Sheets("Stammdaten").Cells(FirstNewRow, 68) = wbImport.Worksheets("Stammdaten") _
.Range("BH4")
'Status in & eintragen
ThisWorkbook.Sheets("Stammdaten").Cells(FirstNewRow, 69).Value = Format(wbImport.Worksheets( _
"Stammdaten").Range("BI4").Value, "0 %")
' ThisWorkbook.Sheets("Stammdaten").Cells(FirstNewRow, 69).FormulaR1C1 = "=[wbImport] _
Stammdaten!R4C61"
wbImport.Close savechanges:=False
Set wbImport = Nothing
ActiveSheet.Protect "xxxxxx"
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Ich hoffe jemand hier kann mir da vielleicht einen Lösungsansatz geben.
Viele Grüße Olli