powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
31 сообщений из 31, показаны все 2 страниц
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842349
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как проверить в MS Excel : Существует ли конкретная именованная область с заданным именем?

Например:
дано Excel-файл с разными именованными диапазонами.
нужно узнать: есть именованный диапазон с заданным именем (Например "SummaItogo")

типа:Exist ("SummaItogo").
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842351
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
формулой или скриптом?
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842371
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и тем и тем.

На самом деле нужно эту проверку сделать при формировании отчета (Excel-файл) с помощью MS Access.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842373
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну скриптом - просто попытаться обратиться к нему. Если ошибка - значит нету такого.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842377
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

т.е. создать свою функцию на Access?
На вход - имя именованных ячеек
На выходе - да/нет
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842397
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну можно и так. Как удобно.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842624
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сочинил такую функцию:

Public Function ActName(Name As String)
Dim N As Variant
Dim r As Integer
r = 0
For Each N In xlsheet1.Names
If StrConv(N.Name, vbUpperCase) = StrConv("Лист1!" & Name, vbUpperCase) Then
r = 1
Exit For
End If
Next
ActName = (r = 1)
End Function
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842656
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это функция для Access.
А как такую же сделать функцию в Excel?

типа задаешь в ячейке формулу ActName("str1")
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37842976
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так для Excel:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
' функция an(): вход - имя именованной области, выход - истина/ложь (т.е. существует такая именованная область)
Function an(Name As String) As Boolean
Dim N As Variant
Dim r As Integer
r = 0
For Each N In ActiveWorkbook.Names
   If StrConv(N.Name, vbUpperCase) = StrConv("Лист1!" & Name, vbUpperCase) Then
      r = 1
      Exit For
    End If
Next
an = (r = 1)
End Function
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37863922
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proну скриптом - просто попытаться обратиться к нему. Если ошибка - значит нету такого.
Как такую функцию написать? Примерно хотя бы. Очень нужно.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37863956
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proпопытаться обратиться к нему. Если ошибка - значит нету такого.
Формулой - аналогично
Код: vbnet
1.
=SummaItogo

вернёт значение ошибки #ИМЯ? , если такого имени нет в книге
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37863999
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программа формирует Excel-файл с такой формулой в конкретной ячейке:

=ЕСЛИ(ЕОШ("kv_str1");kv_str1;0)+ЕСЛИ(ЕОШ("kv_str2");kv_str2;0)+ЕСЛИ(ЕОШ("kv_str3");kv_str3;0)+ЕСЛИ(ЕОШ("kv_str4");kv_str4;0)+ЕСЛИ(ЕОШ("kv_str5");kv_str5;0)

Когда отткрывается файл на просмотр в Excel

Пишет #ИМЯ?

в Excel иду в эту ячейку, копирую в память, нажимаю Enter - формула считается, не могу понять в чем дело
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864001
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
REBUS,

пример давайте
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864016
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
REBUSЕСЛИ(ЕОШ("kv_str1");kv_str1;0)Здесь две ошибки. Правильно так:

ЕСЛИ(ЕОШ(kv_str1);0;kv_str1)
или
ЕСЛИ(ЕОШ(kv_str1);;kv_str1)
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864019
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КазанскийЗдесь две ошибки
REBUSиду в эту ячейку, копирую в память, нажимаю Enter - формула считается
?!
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864023
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вложил файл, сформированный программой MS Access

Ячейки F31 и G31 я уже прошелся по ним вручную
нпример ячейки F32 и G32 почему не отображают?
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864033
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
REBUS,

замените все = на =
Ctrl+H
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864036
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge 007REBUS,

замените все = на =
Ctrl+H
Как это?
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864041
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
REBUSКак это?
Нажимаете на клавиатуре Ctrl+H
Найти: знак"="
Заменить: знак"="
Заменить все - ОК
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864043
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
знак "равно" вводится без кавычек
Вот так:

=
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864065
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Серж,

что "?!"
ЕОШ("kv_str1") всегда ЛОЖЬ, потому что строка не может быть ошибкой.
Поэтому ЕСЛИ(ЕОШ("kv_str1");kv_str1;0) всегда возвращает 0. Что мы и видим в файле.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864074
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему приходится лишния движения выполнять?
Поменял в программе "

IF(ЕОШ("str5"),str5,0)
на
IF(ISERR("str5"),str5,0)

Мне нужно чтобы отчет сформировался.
Пользователю зачем нажимать Ctrl-H.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864088
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
REBUS,

Ошибка #ИМЯ? возникает потому, что в формуле не распознается одна функция:

?activecell.formula
=IF(ЕОШ("kv_str7"),kv_str7,0)

Формулы надо вставлять на родном для Excel языке, т.е. использовать .Formula, а не .FormulaLocal.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864117
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КазанскийСерж,

что "?!"
Почему после F2 по
REBUS...формула считается...?
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864143
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Серж,
REBUS же написал, что вводи Л формулу как IF(ЕОШ("str5"),str5,0)
Так и выглядит свойство .formula (см. мой пост от 11:17).
При отображении формулы Excel транслирует ее в соотв. с локалью, т.е. работает с .formulaLocal. Имя неизвестной функции ЕОШ не транслируется. При сохранении формулы ЕОШ распознается.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864168
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КазанскийREBUS же написал, что вводи Л формулу как IF(ЕОШ("str5"),str5,0)
Это он написал позже ( 11:10 ) моего вопроса ( 10:33 )

Изначально ( 10:21 ) было так:
REBUS Программа формирует Excel-файл с такой формулой в конкретной ячейке:

=ЕСЛИ(ЕОШ("kv_str1");kv_str1;0)+ЕСЛИ(ЕОШ("kv_str2");kv_str2;0)+ЕСЛИ(ЕОШ("kv_str3");kv_str3;0)+ЕСЛИ(ЕОШ("kv_str4");kv_str4;0)+ЕСЛИ(ЕОШ("kv_str5");kv_str5;0)

REBUSКогда отткрывается файл на просмотр в Excel Пишет #ИМЯ? - именно так и происходит. Но после F2 значение ошибки #ИМЯ? исчезает. Вот я и поинтересовался, как формула, содержащая 2 ошибки, без редактирования(!), у REBUS начинает работать
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864185
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имел в виду 2 ошибки с т.з. логики работы, а не синтаксиса.
Чет мне этод флуд надоел
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864217
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КазанскийЯ имел в виду 2 ошибки с т.з. логики работы, а не синтаксиса.
Да какая разница-то? Я совершенно другой вопрос задаю:

Как формула, возвращающая значение ошибки #ИМЯ? , после входа в режим редактирования (но без редактирования самой формулы) перестаёт возвращать это значение ошибки?!

Есть ответ на этот вопрос?

ЗЫ К флуду этот вопрос отношения не имеет
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864315
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть, я дал его в последнем посте пред. страницы, м.б. недостаточно подробно.
Итак,
[a1].Formula = "=IF(ЕОШ(1/0),5,8)"
Синтаксис формулы правильный, поэтому эта команда ошибки не вызывает. Формула записывается в ячейку, но содержит неизвестную функцию ЕОШ, поэтому возвращает ошибку #ИМЯ? .
При изменении локали название функции IF будет меняться, ЕОШ - не будет.
То есть в английском Экселе формула отобразится как =IF(ЕОШ(1/0),5,8)
В русском Экселе формула отображается на вид правильно, но по сути функция ЕОШ остается нераспознанной до тех пор, пока не будет сделан выход из режима редактирования, при котором формула распознается в соотв. с локалью. Это аналогично команде
[a1].FormulaLocal = "=ЕСЛИ(ЕОШ(1/0);5;8)"
Попробуй по шагам
Код: vbnet
1.
2.
3.
4.
5.
6.
Sub bb()
[a1].Formula = "=IF(ЕОШ(1/0),5,8)"
Debug.Print [a1].Formula, [a1].FormulaLocal
[a1].FormulaLocal = [a1].FormulaLocal       'F2, Enter
Debug.Print [a1].Formula, [a1].FormulaLocal
End Sub
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864351
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде все получилось

Использовал такой синтаксис при формировании файла
IF(ISERR(str7),0,str7).

Мои ошибки:
1) кавычки не нужны - IF(ISERR("str7"),0,str7)-непр.

2) писал команду ЕОШ() на русском языке, а надо на английском все при занесении формулы в Access-программе - IF(ЕОШ(str7),0,str7)-непр.

3) перепутал истина с ложью после функции ISERR() - IF(ISERR(str7),str7,0)-непр.

Спасибо за помощь.
Продолжу дальше работать над формой.
...
Рейтинг: 0 / 0
Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
    #37864482
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КазанскийВ русском Экселе формула отображается на вид правильно, но по сути функция ЕОШ остается нераспознанной до тех пор, пока не будет сделан выход из режима редактирования, при котором формула распознается в соотв. с локалью.
Алексей, моё почтение!
Именно это я и спрашивал

КазанскийЕсть, я дал его в последнем посте пред. страницы, м.б. недостаточно подробно.
Я его не понял сначала :)
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как проверить в Ms Excel : Существует ли конкретная именованная область с заданным именем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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