Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Переход к зависимой ячейке / 3 сообщений из 3, страница 1 из 1
02.04.2007, 11:23:47
    #34430699
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход к зависимой ячейке
Есть задача - при нажатии правой кнопки мыши на формуле открыть файл, лист и ячейку из которой берётся цифра для ячейки.....

я сделал, но не совсем уверен правильно ли это будет работать во всех случаях...

не посоветуете ли...?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim SearchString, Pos1, Pos2, SPos1, SPos2, fil, Sfil, SPath, GotFile
    Dim GotList, GotCell
    
    SearchString = Target.Cells( 1 ,  1 ).Formula
    Pos1 = InStr( 1 , SearchString, "'",  0 )
    Pos2 = InStr(Pos1 +  1 , SearchString, "'",  0 )
    
    If Pos1 =  0  Then
      Pos1 = InStr( 1 , SearchString, "[",  0 )
      Pos2 = InStr(Pos1 +  1 , SearchString, "!",  0 )
      fil = Mid(SearchString, Pos1, Pos2 - Pos1)
    Else
      fil = Mid(SearchString, Pos1 +  1 , Pos2 - Pos1 -  1 )
    End If
    
    
MsgBox fil
    
    SPos1 = InStr( 1 , fil, "[",  0 )
    SPos2 = InStr(SPos1 +  1 , fil, "]",  0 )
    Sfil = Mid(fil, SPos1 +  1 , SPos2 - SPos1 -  1 )
    SPath = Left(fil, SPos1 -  1 )
    
    GotFile = SPath & Sfil
    GotList = Mid(fil, SPos2 +  1 )
    
        
    GotCell = Mid(SearchString, InStr(SPos2, SearchString, "!") +  1 )
    


Dim Opened

For Each w In Workbooks
    If w.Name = GotFile Then
        w.Activate
        Opened = True
    End If
Next w

If Opened <> True Then
Workbooks.Open Filename:=GotFile
End If


On Error GoTo a
Workbooks(GotFile).Activate
a:
ActiveWorkbook.Sheets(GotList).Activate
ActiveWorkbook.Sheets(GotList).Range(GotCell).Select

Cancel = True
End Sub
...
Рейтинг: 0 / 0
02.04.2007, 14:37:47
    #34431388
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход к зависимой ячейке
Всё было как нельзя проще....

Код: plaintext
1.
Selection.ShowPrecedents
ActiveCell.NavigateArrow TowardPrecedent:=True, ArrowNumber:= 1 , LinkNumber := 1 
...
Рейтинг: 0 / 0
02.04.2007, 15:08:10
    #34431494
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход к зависимой ячейке
Вот только файл оно не открывает... :(
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Переход к зависимой ячейке / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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