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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.11.2007, 09:13   #1
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию Связь на конкретном листе

Уважаемые программисты!
Помогите мне, пожалуйста!

arlinks = ThisWorkbook.LinkSources
For i = 1 To UBound(arlinks)
ThisWorkbook.ActiveSheet.Cells(i, 15).Value = arlinks(i)
Next i

Метод LinkSources выводит все имеющиеся в книге связи.
А мне нужно узнать, какая связь (она должна быть только одна) имеется на конкретном листе. Можно ли это сделать?
Или хотя бы можно как-то вытащить текст, который пишется в f(x)?

Спасибо, надеюсь на ответ!
Роня вне форума
Старый 08.11.2007, 20:38   #2
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Код:
Private Sub FindLink()
    Dim iLinkCell As Range
    Set iLinkCell = ThisWorkbook.Worksheets(1).UsedRange.Find _
    (What:="=*[*]*", LookIn:=xlFormulas, LookAt:=xlPart)

    If Not iLinkCell Is Nothing Then
       MsgBox "Ячейка : " & iLinkCell.Address & _
       " предположительно содержит внешнюю ссылку", , ""
       'Если необходимо найти все подобные ячейки, то
       'воспользуйтесь методом FindNext (пример есть в справке)
    End If
End Sub
pashulka вне форума
Старый 12.11.2007, 09:03   #3
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Pashulka, спасибо за ответ!
я не совсем понятно сначала написала, но мне нужно выцепить саму формулу (а еще лучше наименование файла, с которым имеется связь,) в конкретной ячейке конкретного листа.
попробовала использовать
s = Application.WorksheetFunction.Find( "ффф", "F9")
но выдается ошибка "Application-defined or object-defined error"
Помогите, пожалуйста, еще
Роня вне форума
Старый 12.11.2007, 20:49   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Роня, Вы можете использовать что-то вроде нижеопубликованного кода, или перебрать внешние ссылки и поискать их в формуле.

Код:
Private Sub GetLink()
    With ThisWorkbook.Worksheets(1).Range("A1")
         If Not .FormulaHidden Or Not .Parent.ProtectContents Then
            iFormula$ = .Formula
            'Если нет уверенности в том, что ячейка содержит
            'формулу, то проверить её наличие можно использовав
            'свойство HasFormula
            If iFormula$ Like "=*[*.XLS]*" Then
               iMin% = InStr(iFormula$, "[") + 1
               iMax% = InStr(iFormula$, "]")
               iFileName$ = Mid(iFormula$, iMin%, iMax% - iMin%)
               MsgBox iFileName$, , ""
            End If
         Else
            MsgBox "Формула скрыта от глаз любопытствующих", , ""
         End If
    End With
End Sub
pashulka вне форума
Старый 13.11.2007, 14:08   #5
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Pashulka, все получилось, спасибо!!!
Роня вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как на Листе, удалить формулы valerij Microsoft Office Excel 4 03.07.2008 20:02
Как поменять картинку (анимация на листе) dsapa Microsoft Office Excel 10 02.06.2008 16:08
Заголовок на каждом листе печати JarVal HTML и CSS 6 13.05.2008 16:36
организация простенькой парольной защиты .exe файлов в конкретном каталоге abyss Помощь студентам 2 13.11.2007 08:24
Отловить копирование на листе SAndrus Microsoft Office Excel 4 05.09.2007 12:29