Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать в какие именованные области входит ячейка в Excel? / 9 сообщений из 9, страница 1 из 1
17.09.2009, 21:08:12
    #36202782
igor.andru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать в какие именованные области входит ячейка в Excel?
Задача при распарсивании Excel-файла: Узнать в какие именованные области входит ячейка!
Нужен код на C# или VB!
Очень нужно, никак не могу найти в сети, Заранее спасибо!
...
Рейтинг: 0 / 0
18.09.2009, 00:12:04
    #36202926
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать в какие именованные области входит ячейка в Excel?
Код: 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
18.09.2009, 00:29:10
    #36202934
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать в какие именованные области входит ячейка в Excel?
Даже так наверное, а то какой-то частный случай получается - не учитываются имена уровня книги.
Код: 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
18.09.2009, 00:48:03
    #36202948
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать в какие именованные области входит ячейка в Excel?
DeggasadДаже так наверное, а то какой-то частный случай получается - не учитываются имена уровня книги.Нуууу..... Если мы работаем с активной ячейкой, то все имена в которых эта ячейка может быть, уже будут принадлежать листу. А вот если мы работаем с абстрактной ячейкой, не зная какому листу она принадлежит, то... Впрочем, там все равно проверять имя листа не нужно, одного intersect() хватит.
...
Рейтинг: 0 / 0
18.09.2009, 06:27:52
    #36203025
igor.andru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать в какие именованные области входит ячейка в Excel?
Всем, спасибо! Работает!
...
Рейтинг: 0 / 0
18.09.2009, 10:10:02
    #36203288
MaximuS_G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать в какие именованные области входит ячейка в Excel?
Всем ,
У меня такой вопрос, почему не определяет количество activesheet.names.count правильно ? Выдает только количество имен созданных через ВБА, а если я создаю имена из екселя, он их не определяет ?
Плюс если я создаю программно имя на листе:
ActiveSheet.Names.Add Name:="myName", RefersTo:= _
"=Лист1!A1"
и пытаюсь получить его MsgBox ActiveSheet.Names("MyName").RefersToRange - неопределяет, выдает "пусто" !
Что не так ?
Спасибо!
...
Рейтинг: 0 / 0
20.09.2009, 15:26:46
    #36206307
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать в какие именованные области входит ячейка в Excel?
White OwlDeggasadДаже так наверное, а то какой-то частный случай получается - не учитываются имена уровня книги.Нуууу..... Если мы работаем с активной ячейкой, то все имена в которых эта ячейка может быть, уже будут принадлежать листу. А вот если мы работаем с абстрактной ячейкой, не зная какому листу она принадлежит, то... Впрочем, там все равно проверять имя листа не нужно, одного intersect() хватит.

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

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


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