powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать в какие именованные области входит ячейка в Excel?
9 сообщений из 9, страница 1 из 1
Как узнать в какие именованные области входит ячейка в Excel?
    #36202782
igor.andru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача при распарсивании Excel-файла: Узнать в какие именованные области входит ячейка!
Нужен код на C# или VB!
Очень нужно, никак не могу найти в сети, Заранее спасибо!
...
Рейтинг: 0 / 0
Как узнать в какие именованные области входит ячейка в Excel?
    #36202926
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
for each n in activesheet.names
    if not intersect(n.referstorange, activecell) is nothing then
        debug.print "active cell is inside " & n.name
    end if
next
...
Рейтинг: 0 / 0
Как узнать в какие именованные области входит ячейка в Excel?
    #36202934
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже так наверное, а то какой-то частный случай получается - не учитываются имена уровня книги.
Код: plaintext
1.
2.
3.
4.
5.
6.
For Each n In ActiveWorkbook.Names
    If n.RefersToRange.Parent.Name = ActiveSheet.Name Then
     If Not Intersect(n.RefersToRange, ActiveCell) Is Nothing Then
        Debug.Print "active cell is inside " & n.Name
     End If
    End If
Next
...
Рейтинг: 0 / 0
Как узнать в какие именованные области входит ячейка в Excel?
    #36202948
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadДаже так наверное, а то какой-то частный случай получается - не учитываются имена уровня книги.Нуууу..... Если мы работаем с активной ячейкой, то все имена в которых эта ячейка может быть, уже будут принадлежать листу. А вот если мы работаем с абстрактной ячейкой, не зная какому листу она принадлежит, то... Впрочем, там все равно проверять имя листа не нужно, одного intersect() хватит.
...
Рейтинг: 0 / 0
Как узнать в какие именованные области входит ячейка в Excel?
    #36203025
igor.andru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем, спасибо! Работает!
...
Рейтинг: 0 / 0
Как узнать в какие именованные области входит ячейка в Excel?
    #36203288
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем ,
У меня такой вопрос, почему не определяет количество activesheet.names.count правильно ? Выдает только количество имен созданных через ВБА, а если я создаю имена из екселя, он их не определяет ?
Плюс если я создаю программно имя на листе:
ActiveSheet.Names.Add Name:="myName", RefersTo:= _
"=Лист1!A1"
и пытаюсь получить его MsgBox ActiveSheet.Names("MyName").RefersToRange - неопределяет, выдает "пусто" !
Что не так ?
Спасибо!
...
Рейтинг: 0 / 0
Как узнать в какие именованные области входит ячейка в Excel?
    #36206307
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlDeggasadДаже так наверное, а то какой-то частный случай получается - не учитываются имена уровня книги.Нуууу..... Если мы работаем с активной ячейкой, то все имена в которых эта ячейка может быть, уже будут принадлежать листу. А вот если мы работаем с абстрактной ячейкой, не зная какому листу она принадлежит, то... Впрочем, там все равно проверять имя листа не нужно, одного intersect() хватит.

А вы пробовали?
1) Имя несмотря на то что оно содержит диапазон на данном листе вполне может принадлежать книге (имена уровня книги) и не принадлежать коллекции имен активного листа.
2) intersect() выдает ошибку если аргументы на разных листах.
...
Рейтинг: 0 / 0
Как узнать в какие именованные области входит ячейка в Excel?
    #36206309
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_G Всем ,
У меня такой вопрос, почему не определяет количество activesheet.names.count правильно ? Выдает только количество имен созданных через ВБА, а если я создаю имена из екселя, он их не определяет ?

Тот же случай видимо. Проверте часть имен принадлежат книге, а не листу (те которые вы создаете вручную).
Чтобы присвоить вручную имя уровня конкретного листа нужно вместо имени "test" вводить
"лист1!test", тогда имя test будет принадлежать лист1
...
Рейтинг: 0 / 0
Как узнать в какие именованные области входит ячейка в Excel?
    #36209065
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Deggasad ,
Да, действительно, имена принадлежали книге. Спасибо!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать в какие именованные области входит ячейка в Excel?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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