Hallo Olli,
OMG, was hast du denn da angestellt. Da müsste VBA eigentlich sagen, dass das so nicht geht. Du kannst keine Function in einer SUB verschachteln. Du musst sie, wie gesagt, hinten anfügen. also ab der neuen Zeile nach End Sub. Probiers mal so:
Sub Dateimitnamenspeichern()
Dim pfad As String, datei As String, blatt As String, bezug As String, KW As Variant
pfad = "S:\PRJ\FZG\Kompetenz_Team\08_Exterieur\09_BR-?bergreifend\00_Projektstatusberichte\DTK_Status\01_Statusberichte_DES"
datei = "Status ?bersichtstabelle.xlsx"
blatt = "copy paste Tabellen"
bezug = "D3"
KW = GetValue(pfad, datei, blatt, bezug)
End Sub
Private Function GetValue(path, file, sheet, ref)
'von https://www.ms-office-forum.net/forum/showthread.php?t=310983
' Retrieves a value from a closed workbook
Dim arg As String
' Make sure the file exists
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
' Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
' Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function
PS: Bist du dir sicher dass bei Pfad und Dateinamen nicht jeweils ein Ü an die Stelle des ? gehört?
Gruß Mr. K.
|