Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2009, 12:10   #1
blacklight
 
Регистрация: 17.07.2009
Сообщений: 9
По умолчанию Получить ссылку на ячейки

Возник такой вопрос:

в ячейке есть формула (любая), например:

('Лист3!'A1+'Лист2!'B5)/сумм(C7:C28)

вопрос в том, как получить ссылки в VBA на ячейки (range) из этой формулы, чтобы производить с ними какие-либо действия.

Подскажите, плз, где почитать или может какие-нибудь функции.

Спасибо!

С уважением,
blacklight.
blacklight вне форума Ответить с цитированием
Старый 22.09.2009, 12:17   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Изучайте свойства
Код:
.Dependents
.Precedents
объекта Range.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 22.09.2009, 16:24   #3
blacklight
 
Регистрация: 17.07.2009
Сообщений: 9
По умолчанию

Отлично! спасибо!

Такой вопрос, есть ли предположения, как решить задачку со ссылками на другие листы? =)

С уважением,
blacklight.

(например свойство Showprecedents возвращает все ссылки на объекты, от которых зависит ячейка, а вот просто Precedents - только на активном листе)
blacklight вне форума Ответить с цитированием
Старый 23.09.2009, 05:35   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Будьте внимательны! .Dependents и .Precedents работают только в пределах активного листа. Если в формуле есть ссылка на другой лист (как в Вашем примере), то они Вам не помогут.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 23.09.2009, 10:23   #5
blacklight
 
Регистрация: 17.07.2009
Сообщений: 9
По умолчанию

Почти решил проблему...
Dim a As Variant
Dim b As Variant

Selection.ShowPrecedents
a = Selection.Address
b = ActiveSheet.Index

Range(a).NavigateArrow TowardPrecedent:=True, ArrowNumber:=1, LinkNumber _
:=1
Selection.Interior.Color = 65535
Sheets(b).Select
Range(a).NavigateArrow TowardPrecedent:=True, ArrowNumber:=1, LinkNumber _
:=2
Selection.Interior.Color = 65535
Sheets(b).Select
Range(a).NavigateArrow TowardPrecedent:=True, ArrowNumber:=1, LinkNumber _
:=3
Selection.Interior.Color = 65535

Остался вопрос, как посчитать количество внешних ссылок...

Может написать цикл, который выполняется до появления ошибки?
blacklight вне форума Ответить с цитированием
Старый 23.09.2009, 14:32   #6
blacklight
 
Регистрация: 17.07.2009
Сообщений: 9
По умолчанию

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

Код:
    Dim a As Variant
    Dim b As Variant
    Dim i As Integer
    
    Selection.ShowPrecedents
    a = Selection.Address
    b = ActiveSheet.Index
    
    On Error GoTo Error1
    If Selection.Precedents.Count > 0 Then
    
    Selection.Precedents.Interior.Color = 65535
    
    On Error GoTo Error2
    For i = 1 To 1000
    Sheets(b).Select
    Range(a).NavigateArrow TowardPrecedent:=True, ArrowNumber:=1, LinkNumber _
        :=i
    Selection.Interior.Color = 65535
    Next i
    
    End If
    
Error1:
    On Error GoTo Error2
    For i = 1 To 256
    Sheets(b).Select
    Range(a).NavigateArrow TowardPrecedent:=True, ArrowNumber:=1, LinkNumber _
        :=i
    Selection.Interior.Color = 65535
    Next i
    
Error2:
Exit Sub
Спасибо!

С уважением,
blacklight.
blacklight вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
адресс ячейки через ссылку mihakr Microsoft Office Excel 16 07.08.2011 08:29
Получить ссылку на видео файл SunKnight Свободное общение 6 11.06.2009 02:46
Получить ссылку на вызывающий объект grenles Общие вопросы Delphi 10 07.11.2008 12:37
Как получить ссылку на файл с файлообенника? S(p)@wN Работа с сетью в Delphi 0 16.08.2007 15:20