Я пытаюсь сделать условный подсчет "COUNTIF" из закрытой книги с именем range. Как и в примере ниже, подсчитайте количество "fruit_count", если "fruit_names" равно "яблочкам":
=SUMIF('C:\folder\test.xlsm'!fruit_names;"apples";'C:\folder\test.xlsm'!fruit_count)
Я нашел формулу getvalue(), но похоже, что она не работает с именованными диапазонами:
Private Function GetValue(path, file, sheet, ref)
' 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
Идеально было бы создать функцию, которая будет выполняться на панели формул ленты Excel, но "ExecuteExcel4Macro" не позволяет этого, или способ объединить функцию getvalue с именованными диапазонами ...
Я видел много вопросов и вопросов по этой теме, но не так много ответов с именованными диапазонами.
Спасибо заранее, av9