Ich verwende diese Funktion, um einen Wert aus einer geschlossenen Arbeitsmappe abzurufen. In dieser 8. Zeile dieses Codes verstehe ich nicht, warum "A1" verwendet wird. Was genau passiert in dieser ganzen 8. Zeile? Ich bin verwirrt durch das Argument xlR1C1.Warum wird die Zelle "A1" in dieser GetValue-Funktion in VBA verwendet?
Private Function GetValue(path, file, sheet, ref)
Dim arg As String
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
GetValue = ExecuteExcel4Macro(arg)
End Function
Nicht ganz sicher, aber es könnte sein, dass 'ref' eine Sammlung von Zellen ist, also wird immer ein Wert zurückgegeben. – NickSlash
Wir müssten den 'ExecuteExcel4Macro()' Code sehen, um zu sehen, welche Eingabe er benötigt. Aber die Syntax nach '.Address()' ist dies: http://msdn.microsoft.com/en-us/library/office/ff821207%28v=office.15%29.aspx – Chrismas007
ExecuteExcel4Macro ist -> http://msdn.microsoft.com/en-us/library/office/ff193589%28v=office.15%29.aspx Obwohl, wenn Sie immer noch Excel 4 Makros jetzt verwenden ...könnte Zeit für ein Upgrade sein. – Tmdean