Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить ячейку в Excel на имя? Как проверить ячейку в Excel на имя?  
:(
    Опции темы
gavrilich
Дата 24.7.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 24.7.2007

Репутация: нет
Всего: нет



Ситуация такая: у меня есть документ Excel, в нем множество ячеек среди которых есть именованные т.е. с именами которые задаются в левом верхнем углу (при клике по ячейке там отображаются координаты, но если есть потребность можно ввести свое имя). При обработке события

Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
  
if имя_ячейки = "MyCell" then 

actions

end if

End Sub  

мне нужно проверить нажата ли ячейка с моим именем, все мои попытки вытащить имя и проверить его не помогли.
Свойство Target.Name возвращает имя в формате Имя листа + имя ячейки, а мне нужно чтоб возвращалось имя которое я ввел для определенной ячейки потому что документ который я буду обрабатывать будет каждый раз меняться и привязываться к координатам ячейки я не могу.

Помогите, буду благодарен. 
PM MAIL   Вверх
mihanik
Дата 24.7.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Хм...

В открытой рабочей книге есть коллекция именованых областей.
Т.е. тебе нужно при смене выделенной области сделать следующее

1. Узнать точный адрес выделенной области
2. Перебрать коллекцию именованных областей и определить, входит данная область в коллекцию или нет

Привожу пример кода, который помогает просмотреть все именованные области в книге...

Код

Private Sub CommandButton1_Click()
Dim MyName As Integer

    MsgBox "Найдено именованых областей: " & ActiveWorkbook.Names.Count
    For MyName = 1 To ActiveWorkbook.Names.Count
        MsgBox "  Имя: " & ActiveWorkbook.Names.Item(MyName).Name & vbCrLf & _
               "Адрес: " & ActiveWorkbook.Names.Item(MyName).RefersTo
    Next MyName
        
        
End Sub


Немного переделав, сможешь решить свою задачу.

ЗЫ.
Слово "коллекция" не совсем точное для этого термина, но... И так всё понятно.



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
gavrilich
Дата 25.7.2007, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 24.7.2007

Репутация: нет
Всего: нет



спасибо думаю это поможет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0399 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.