Здравствуйте, прошу помочь разобраться с организацией гиперссылок в макросах для конкретного примера. Есть первый лист с данными. Есть также второй лист, на котором используется частичная выборка данных с первого листа. На первом листе есть ячейки, в которых формулой формируются гиперссылки. Нужно при выборке организовать макросом работу гиперссылок на втором листе. Пример в файле.
Как перенести адрес гиперссылки из ячеек таблицы "Данные_" в рассматриваемом примере? При организации выборки данных со второго листа как проверить, что в ячейках есть организованные формулами гиперссылки вместо проверки по названию столбца "гиперссылка"?
Здравствуйте, прошу помочь разобраться с организацией гиперссылок в макросах для конкретного примера. Есть первый лист с данными. Есть также второй лист, на котором используется частичная выборка данных с первого листа. На первом листе есть ячейки, в которых формулой формируются гиперссылки. Нужно при выборке организовать макросом работу гиперссылок на втором листе. Пример в файле.
Как перенести адрес гиперссылки из ячеек таблицы "Данные_" в рассматриваемом примере? При организации выборки данных со второго листа как проверить, что в ячейках есть организованные формулами гиперссылки вместо проверки по названию столбца "гиперссылка"?ska
По поводу гиперссылки. Создавайте гиперссылку не с помощью формулы, а используя другой вид гиперссылки. Попробуйте адаптировать это в свой макрос: [vba]
Код
Sub Вставить_гиперссылку()
Dim shSrc As Worksheet, shTarget As Worksheet
Set shSrc = Worksheets("Данные_") Set shTarget = Worksheets("Выборка")
If shSrc.Range("B2").Value = Empty Then Exit Sub End If
По поводу гиперссылки. Создавайте гиперссылку не с помощью формулы, а используя другой вид гиперссылки. Попробуйте адаптировать это в свой макрос: [vba]
Код
Sub Вставить_гиперссылку()
Dim shSrc As Worksheet, shTarget As Worksheet
Set shSrc = Worksheets("Данные_") Set shTarget = Worksheets("Выборка")
If shSrc.Range("B2").Value = Empty Then Exit Sub End If
Karataev, спасибо, что обратили внимание на более сложную формулу и лишнюю проверку. Формулу поправил.
И все же вопросы: Как определить макросом, что в ячейке листа "Данные_" гиперссылка? Какое условие можно использовать? Как в макросе "вынуть" адрес из ячейки листа "Данные_" для дальнейшего использования в листе "Выборка"?
Karataev, спасибо, что обратили внимание на более сложную формулу и лишнюю проверку. Формулу поправил.
И все же вопросы: Как определить макросом, что в ячейке листа "Данные_" гиперссылка? Какое условие можно использовать? Как в макросе "вынуть" адрес из ячейки листа "Данные_" для дальнейшего использования в листе "Выборка"?ska
Сообщение отредактировал ska - Суббота, 19.03.2016, 12:17
Как определить макросом, что в ячейке листа "Данные_" гиперссылка? Какое условие можно использовать?
Напрямую нельзя узнать, а косвенно можно. Гиперссылка появляется, если в столбце B есть данные. Значит макрос может понять, есть гиперссылка или нет, посмотрев столбец B, что у меня и представлено в посте 2.
Как определить макросом, что в ячейке листа "Данные_" гиперссылка? Какое условие можно использовать?
Напрямую нельзя узнать, а косвенно можно. Гиперссылка появляется, если в столбце B есть данные. Значит макрос может понять, есть гиперссылка или нет, посмотрев столбец B, что у меня и представлено в посте 2.Karataev
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
[/vba]
Пытаюсь понять, как его можно использовать для моих целей (ссылка)
Видел такой макрос:
[vba]
Код
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
[/vba]
Пытаюсь понять, как его можно использовать для моих целей (ссылка)ska
Сообщение отредактировал ska - Суббота, 19.03.2016, 12:42