Как использовать имена формул в VBA Excel? - PullRequest
0 голосов
/ 27 апреля 2019

Когда мы присваиваем имя формуле, у нас есть объект (Names («имя-формулы))), но я не знаю, как применить к моему коду.

Я дал название формуле, подобной этой:

Worksheets("Sheet1").Names.Add Name:="totalAdd", RefersTo:="=sum(a2:a6)"

потому что я хочу сохранить его между сессиями; но когда я пытаюсь вставить его в другую ячейку с помощью:

Range("C1").Value = Names("totalAdd").RefersTo

Я получаю ошибку 1004 во время выполнения. Если я отсылаю формулу к Sheet1 следующим образом:

Worksheets("Sheet1").Names.Add Name:="totalAdd", RefersTo:="=sum(Sheet1!a2:a6)"

Я получаю ту же ошибку. Почему?

Ответы [ 3 ]

0 голосов
/ 27 апреля 2019

Я думаю, что нашел ошибку. Первая строка кода создала имя формулы, но LOCAL ; только имя было доступно в Sheet1. Для создания имени формулы GLOBAL Имена свойств должны начинаться с рабочих книг. Мой код сейчас:

ActiveWorkbook.Names.Add Name:="totalAdd", RefersTo:="=sum(Sheet1!a2:a6)"
WS.Range("a1").Value = Names("totalAdd").RefersTo

Works! Большое спасибо.

0 голосов
/ 27 апреля 2019

examples

Чтобы обратиться к à Worksheets2, используйте Worksheets (2) или Worksheets ("Feuil2")

каждый объект может иметь свои собственные объекты.Например, в Excel есть рабочие листы, у которых есть листы с диапазонами.Для ссылки на лист используйте:

для ссылки на лист2, используйте Рабочие листы (2) или Рабочие листы ("лист2")

Чтобы указать диапазон, используйте:

Приложение. Рабочие книги (1). Рабочие листы ("Feuil2"). Диапазон ("А1")

* другой пример;чтобы определить значение 1O в диапазоне A1, используйте

Range ("A1"). Значение = 10

*, чтобы скрыть cheet2

Worksheets ("sheet2"). Visible= False

, чтобы снова сделать его видимым Sub Essai6 () Worksheets ("sheet2"). Visible = True End Sub

0 голосов
/ 27 апреля 2019

Вы можете попробовать это:

Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("The name of your Worksheet")
sht.Range("C1").Value = sht.Evaluate(Application.Names("Name of your Formula").RefersTo))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...