Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавление именованных формул - VBA / 10 сообщений из 10, страница 1 из 1
13.07.2007, 17:47:53
    #34658459
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
Никак не пойму все правила добавления имён с формулами.
Первый раз столкнулся с проблемой когда добалял именованные диапазоны в Эксель из Аксесса.
Нужно было писать формулы на русском языке и с русской пунктуацией.

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

1)
Код: plaintext
1.
ThisWorkbook.Names.Add Name:="ДинамическийДиапазон", RefersTo:= _
    "=ОБЩ_ПФ_ДЗ!$A$1:index(ОБЩ_ПФ_ДЗ!$M:$M,match(""яяяяя"",ОБЩ_ПФ_ДЗ!$B:$B))"

2)
Код: plaintext
1.
ThisWorkbook.  .Names.Add Name:="ДинамическийДиапазон", RefersTo:= _
    "=ОБЩ_ПФ_ДЗ!$A$1:ИНДЕКС(ОБЩ_ПФ_ДЗ!$M:$M;ПОИСКПОЗ(""яяяяя"";ОБЩ_ПФ_ДЗ!$B:$B))"

Есть ли какая-то логика в этом? От чего это зависит?
...
Рейтинг: 0 / 0
13.07.2007, 19:52:09
    #34658673
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
От региональных настроек ОС это зависит.
...
Рейтинг: 0 / 0
13.07.2007, 21:57:55
    #34658754
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
White OwlОт региональных настроек ОС это зависит.

Возможно! только я у себя 10 раз запустил. 3 раза на ангельском сработала, а потом ошибку выдало. Поменял на русский и 7 раз на русском. После этого на русском (хотя в ячейку формулу только на ангельоском). У соседа на английском с теми же региональными настройками!
Дома только на английском!
...
Рейтинг: 0 / 0
14.07.2007, 00:14:07
    #34658821
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
Может дело в версии Excel? У меня в WindowsXP SP2 MUI (RU) и MSO2003 PRO MUI (RU) твоя проблема не воспроизводится. Принимает одинаково что англ. что локальную версии.

Кстати, для определения диапазона PivotTable можно также использовать инструкцию типа:

Worksheets("ОБЩ_ПФ_ДЗ").Range("A1").CurrentRegion.Address(, , , True)

ведь наверняка у всех столбцов есть заголовок и нет ни одной полностью(!!!) пустой строки.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
14.07.2007, 07:32:10
    #34658882
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
KL (XL)Может дело в версии Excel? У меня в WindowsXP SP2 MUI (RU) и MSO2003 PRO MUI (RU) твоя проблема не воспроизводится. Принимает одинаково что англ. что локальную версии.

Кстати, для определения диапазона PivotTable можно также использовать инструкцию типа:

Worksheets("ОБЩ_ПФ_ДЗ").Range("A1").CurrentRegion.Address(, , , True)

ведь наверняка у всех столбцов есть заголовок и нет ни одной полностью(!!!) пустой строки.

KL
[MVP - Microsoft Excel]

1) У меня сплошная херь с этми именами
Прасильно я понял что у тебя в одном и том же Exel можно и с русскими и с английскими формулами?

2) Насчёт Address(, , , True) - спасибо, нормальная идея.
...
Рейтинг: 0 / 0
14.07.2007, 15:04:58
    #34659115
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
Deggasad1) У меня сплошная херь с этми именами
Прасильно я понял что у тебя в одном и том же Exel можно и с русскими и с английскими формулами?
Да, но правда у меня не настоящая русская версия, а MUI переключенный на русский. Вообще, RefersTo глотает почти все кроме формул с неправильными разделителями (может здесь твоя проблема), например вот это:

Код: plaintext
1.
2.
Sub test()
    ThisWorkbook.Names.Add Name:="test", RefersTo:="test1"
End Sub

Т.е. простой текст, который Excel автоматом превращает в формулу "=""test1"""

Deggasad2) Насчёт Address(, , , True) - спасибо, нормальная идея.
Идея была про CurrentRegion, хе-хе.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
15.07.2007, 19:01:33
    #34659669
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
KL (XL)Да, но правда у меня не настоящая русская версия, а MUI переключенный на русский. Вообще, RefersTo глотает почти все кроме формул с неправильными разделителями (может здесь твоя проблема), например вот это:

Код: plaintext
1.
2.
Sub test()
    ThisWorkbook.Names.Add Name:="test", RefersTo:="test1"
End Sub

Т.е. простой текст, который Excel автоматом превращает в формулу "=""test1"""
KL
[MVP - Microsoft Excel]

Это не совсем понял. Не понял толком о чём ты хотел сказать??? Нельзя ещё пояснить

KL (XL)
Идея была про CurrentRegion, хе-хе.
KL
[MVP - Microsoft Excel]

Это понятно:
- просто сократил неудачно - это раз
- на самом деле использование полного адреса - это само по себе тоже идея - по крайней мере для меня.
- хе-хе...
...
Рейтинг: 0 / 0
16.07.2007, 02:57:37
    #34659845
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
DeggasadЭто не совсем понял. Не понял толком о чём ты хотел сказать??? Нельзя ещё пояснить

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

Кстати разделители могут устанавливаться не только на уровне ОС, но и на уровне аппликации (в меню настроек).

Еще возможная причина ошибок [кстати, похоже ты нигде не указал, что конкретно означает "ошибку выдало"] это, то что кириллические знаки распознаются Редактором VBA только в системах, где кириллица установлена как неюникодовый шрифт по умолчанию. Если стоит не кириллица, то "ОБЩ_ПФ_ДЗ" первый кандидат на ошибку.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
16.07.2007, 08:35:51
    #34659941
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
KL (XL)[quot Deggasad]

Еще возможная причина ошибок [кстати, похоже ты нигде не указал, что конкретно означает "ошибку выдало"] это, то что кириллические знаки распознаются Редактором VBA только в системах, где кириллица установлена как неюникодовый шрифт по умолчанию. Если стоит не кириллица, то "ОБЩ_ПФ_ДЗ" первый кандидат на ошибку.

KL
[MVP - Microsoft Excel]

Ошибка 1004.
Сейчас утром попробывал:
Запустил файл запустил 3 раза с английской формулой - всё ок
Переключился на русскую расклвдку - ошибка 1004
Русская формула работает.
Закрыл файл.
Открыл снова
Переключился на английскую раскладку - работает английкая формула
Переключился на русскую раскладку - всё равно работает аншлийская формула.
На всех раскладках русская формула - выдаёт ошибку 1004

Чертовщина - неужели чтобы довать именованную формулу придётся впихивать оба варианта с перехватом ошибок???
...
Рейтинг: 0 / 0
16.07.2007, 08:36:26
    #34659943
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление именованных формул - VBA
вместо довать - добавить
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавление именованных формул - VBA / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]