От всей души я бы предложил вам создать функцию publi c в VBA-модуле, а затем вызвать ее из Excel-ячейки.
Скажем, вы хотите вызвать =MyMax(...)
, чтобы использовать функцию из вашей DLL. Затем вам нужно будет выполнить эти два простых шага:
- Добавить модуль (если он еще не существует), используя Вставить ➡️ Модуль
- В этом модуле , пожалуйста, создайте функцию publi c следующим образом:
Public Function MyMax(x As Variant, ByVal idx_f As Integer, out As Variant) As Integer
MyMax = Max(x, idx_f)
End Function
Это позволяет вам создать функцию MyMax
, которую вы сможете вызывать из вашей электронной таблицы. Это, в свою очередь, просто действует как прокси для вызова фактической функции из DLL и возвращает ее значение в ячейку.
Примечание: Я не проверял это, но я полагаю, вы лучше использовать псевдонимы для вашей функции с именем i), отличным от «Max», чтобы избежать путаницы со встроенными функциями, и ii) кроме вашей прокси-функции, чтобы избежать путаницы с этой.
Подробнее подробные инструкции о том, как создать такую пользовательскую функцию, можно найти здесь .