В моем проекте есть функция импорта, которая заполняет информацию на моем листе, которая не имеет прямого отношения к этой проблеме.B20 - это выпадающий список, который выбирает пользователь.C20 имеет формулу =IF(B20<>"",CoFunction(B20),"")
, которая содержит пользовательскую функцию, которая запускается после того, как пользователь выбирает что-то в B20.
Моя проблема в том, что после того, как пользователь импортирует эту информацию, он корректно заполняет всю информацию, но значение вС20 не обновляет.Пользовательская функция не запускается.
Я пробовал множество решений, чтобы заставить ее вычислять, и единственное, что работает, - это активировать лист и затем установить значение B20 для себя.Мой вопрос, если кто-нибудь знает лучший способ сделать это.Это также можно сделать вручную, выбрав нужное значение в B20.

Function COFunction(range1 As Range)
'Application.Volatile
If InStr(range1, "Panel") Then
COFunction = [VLOOKUP(B20,'Quote Sheet'!B13:C23,2,0) - 'Quote Sheet'!E50]
Exit Function
Else
Address = Replace(range1, Chr(34), Chr(34) & Chr(34)) 'Chr(34) is a double quote (")
COFunction = Evaluate("VLOOKUP(""" & Address & """, 'Prices'!A15:B150,2,0)")
Exit Function
End If
End Function