Ich hole mir aus einer geschlossenen Arbeitsmappe Werte in eine Datei, die ich gerade erstelle. Die Werte stehen in einer ganz bestimmten Zelle in der geschlossenen Datei, die ich auch definiere. Das funktioniert über eine VBA-Programmierung ganz gut.
jetzt möchte ich einen Wert ermitteln über die Sverweis-Funktion. Und das bekomme ich nicht hin.
Meine Programmierung lautet:
Public Function GetValue(pfad, datei, blatt, zelle)
'Holt einen Wert aus einer _geschlossenen_ Arbeitsmappe
'Dimensionierung der Variablen
Dim arg As String
'Sicherstellen, dass die Datei exisiert
If Right(pfad, 1) "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = "Datei nicht gefunden"
Exit Function
End If
'Den Aufruf-String zusammenstellen
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & _
Range(zelle).Range("A1").Address(, , xlR1C1)
'Ausführen des XL4-Makros
GetValue = ExecuteExcel4Macro(arg)
MsgBox arg
End Function
Public Sub HoleBetraege()
Dim pfad As String, datei As String, blatt As String, zelle As String
Set blatt1 = Worksheets(1)
Set blatt2 = Worksheets(2)
Set blatt3 = Worksheets(3)
Set blatt4 = Worksheets(4)
Set blatt5 = Worksheets(5)
Set blatt6 = Worksheets(6)
pfad = blatt5.[b2] & blatt1.[q8] & "\"
datei1 = blatt5.[b6]
datei2 = blatt5.[b5]
blatt = "Ausgaben"
If Dir(pfad & datei) = "" Then
MsgBox ("Daten für das Jahr " & blatt1.[q8] & " nicht vorhanden")
Else
With blatt6
zelle2 = Application.WorksheetFunction.VLookup("Satzstelle", myrange, 3, False)
.[c2] = GetValue(pfad, datei1, blatt, zelle2)
.[d2] = GetValue(pfad, datei2, blatt, zelle3)
.[F21] = .[q21]
End With