Доступ к значению текстового поля ActiveX из формулы ячейки - PullRequest
0 голосов
/ 06 июля 2018

Я не могу опубликовать свой код, потому что это свойство компании, но проблема в том, что я хотел бы ввести формулу ячейки, чтобы она автоматически обновлялась при изменении конкретных других ячеек.

У меня есть две колонки, одна для цен в долларах США, а другая для другой валюты. Другой столбец валюты - это просто "= SUM ...", но конвертация валюты в доллары США всегда меняется, и цены достаточно велики, чтобы эти изменения имели значение. Таким образом, у меня есть пользователь, который вводит значение конверсии в текстовом поле activex, и я хочу установить формулу ячеек USD в качестве цены в долларах США, поэтому, очевидно, мне нужно получить это значение конверсии, но я не могу просто ввести имя текстового поля, которое не работает.

Я использую VBA, но я хотел бы ввести это непосредственно в ячейку как "= FORMULA", где формула содержит значение текстового поля activeX, чтобы оно автоматически обновлялось.

Насколько я обнаружил в VBA, если я хочу назначить формулу для ячейки, я должен делать это внутри подпрограммы или функции, поэтому мне приходится вызывать подпрограмму каждый раз, когда я хочу обновить ячейки, но я хочу, чтобы это было так же автоматически, как в Excel для других формул ячеек.

Я играл с Worksheet_Change и рассматривал worksheet_open, но у меня были другие проблемы. Например, есть много разных ячеек, которые могут меняться, и я должен следить за ними, и я не могу просто следить за колонкой цен в другой валюте на предмет изменений, потому что при обновлении ячеек по формуле при изменении таблицы не отображаются эти ячейки как имеющие изменилось.

Возможно, это так же просто, как настроить формулы ячеек на worksheet_open, но мне также не повезло с тем, чтобы cell.formula работала. Я мог бы отбросить текстовое поле для обычной ячейки, которое полностью решило бы эту проблему, но у меня также есть подпрограмма textbox_lostfocus, которую мне нужно запустить, и я не знаю, как это сделать для ячейки.

Извините за длинный пост, резюмируя, как я могу оценить значение текстового поля для идеального использования в формуле ячейки без использования vba?

1 Ответ

0 голосов
/ 06 июля 2018

Это то, для чего нужны связанные ячейки.Вы связываете свое текстовое поле ActiveX с ячейкой.Затем значение ячейки обновляется после обновления значения вашего текстового поля.Вы можете ссылаться на эту ячейку в ваших обычных формулах Excel.Смотрите здесь для учебника: https://analysistabs.com/vba-code/activex-controls/textbox/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...