Проблма с текстовой функцией

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

1. Чтобы включить внутрь текстовой строки двойные кавычки надо употреблять их 2 раза: .....ПОИСК( "" N "";....
Можно использовать и более громоздкую конструкцию: ;)
.....ПОИСК( " & chr$(34) & " N " & chr$(34) & ";....

2. Чтобы присваиваемая формула была воспринята правильно и могла автоматически вычисляться можно пользоваться свойствами:
.Value, присваивая текст начинающийся со знака = и строя формулу в соответствии с текущими настройками листа и текущим языком системы.
.FormulaR1C1, используя запись адресов в нотации R1C1 и названия функций в DefaultLocale (т.е. например, не СУММ, а SUM)
.FormulaR1C1Local, используя запись адресов в нотации R1C1 и названия функций в текущем языке системы
.Formula, используя запись адресов в нотации A1 и названия функций в DefaultLocale (т.е. например, не СУММ, а SUM)
.FormulaLocal, используя запись адресов в нотации A1 и названия функций в текущем языке системы

В директории с офисом обычно можно найти Funcs.xls там приведены соответствия названий функций в языке системы и языке по умолчанию.

Если требуется, чтобы макрос был переносимым между любыми национальными версиями Excel, то нельзя использовать свойства, оканчивающиеся на Local.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Внимательнее.
Вместо Formula ндо FormulaR1C1
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Ах, черт... Забыл!
Если использовать ...Local, то используется национаольный разделитеть элементов списка, а если не ...Local, то разделителем будет запятая! Замените точки с запятой на запятые.
Ответить