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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2012, 19:09   #1
KuroiRyuu
 
Регистрация: 14.07.2012
Сообщений: 7
По умолчанию Извлечение Ссылки из ячейки с гиперссылкой без дополнительных функций

"=HYPERLINK(""http://Ссылка разлоичной длины"",""Отображаемый текст"")"

Нужно извлечь из ячейки с такой формулой саму ссылку вложив ее в стринговую переменную
я пробовал использовать,
.Hyperlinks.Add
.Hyperlinks.Address
но мне выдавало, то out of range, то argument(последний) not optional, то еще что-то.
Подскажите как это реализовать, именно в макросе, без написания дополнтельных функций.

В идеале хотел чтобы было, что-то вроде
x = Cells(n,9).Hyperlinks.Address, где x - строчная переменная n- целочисленая
для работы с циклом
KuroiRyuu вне форума Ответить с цитированием
Старый 16.07.2012, 20:56   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Как минимум можно так:
Код:
x = Split([a1].Formula, """")
x = x(1)
MsgBox x
Но у вас в формуле много кавычек.
motorway вне форума Ответить с цитированием
Старый 16.07.2012, 21:39   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вопрос как бы содержит ответ:
это: Cells(n,9).Hyperlinks(1).Address
и есть: http://Ссылка разлоичной длины
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 16.07.2012, 21:59   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
это: Cells(n,9).Hyperlinks(1).Address
Игорь, этот способ не канает с гиперссылками, заданными формулой.
(не знаю, почему разработчики Excel так сделали)

Правильнее будет получить ссылку из ячейки при помощи этой функции:
Код:
Function FormulaHyperlink(ByRef cell As Range) As String
    If cell.HasFormula And (cell.Hyperlinks.Count = 0) Then
        If cell.Formula Like "=HYPERLINK*" Then
            FormulaHyperlink = Evaluate(Mid$(Split(cell.Formula, ",")(0), 12))
        End If
    End If
End Function
Или заменить все «формульные» гиперссылки обычными:
http://excelvba.ru/code/FormulaHyperlinks
EducatedFool вне форума Ответить с цитированием
Старый 16.07.2012, 22:07   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

век живи - век учись.
спасибо, буду знать.
извините за дезинформацию.
Цитата:
(не знаю, почему разработчики Excel так сделали)
наверняка хотели, как лучше...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 16.07.2012, 22:17   #6
KuroiRyuu
 
Регистрация: 14.07.2012
Сообщений: 7
По умолчанию

По моему конкретному случаю - дали ответ на другом форуме:
x=Split([a1].Formula, Chr(34))(1)
Пока мучался с """" ничего не получалось, а символ двойных кавычек решил всю проблему.

UPD - я тупак))
оказывается была запятая между "",""
Так что и с """" все норм

Последний раз редактировалось KuroiRyuu; 16.07.2012 в 22:21.
KuroiRyuu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
зависимость ссылки от ячейки ramzan_s Microsoft Office Excel 5 24.07.2011 02:02
Извлечение данных из изменяющейся ячейки marchukav Microsoft Office Excel 7 21.02.2011 16:18
Извлечение значения из ячейки DBGrideh ImmortalAlexSan Общие вопросы Delphi 28 04.01.2010 15:42
Извлечение значения ячейки с использованием функции Сцепить Юрийpirs2008 Microsoft Office Excel 2 03.03.2009 11:13
Заработок в Интернете без дополнительных затрат Дедушка_Мороз Свободное общение 6 16.12.2007 00:44