Страницы: 1
RSS
макрос открыть гиперссылку
 
подскажите как макросом открыть гиперссылку вот что находиться в ячейке
=ГИПЕРССЫЛКА(СЦЕПИТЬ("https://google.com/"&I3927);I3927)
 
Не понятно, зачем в вашей формуле вставлена функция СЦЕПИТЬ
Формула должна выглядеть примерно так: =ГИПЕРССЫЛКА ("https://google.com/" & D4; D4)

Код
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
Sub FollowFormulaHyperlink()
    ' макрос открытия формульной гиперссылки из активной ячейки
    URL$ = GetCellHyperlinkAddress(ActiveCell) ' получаем ссылку
    CreateObject("WScript.Shell").Run URL$ ' открываем её
End Sub
 
Function GetCellHyperlinkAddress(ByRef cell As Range, Optional AllowInactiveURL As Boolean = False) As String
    On Error Resume Next
    Dim v$
    With cell.MergeArea.Hyperlinks(1)
        GetCellHyperlinkAddress = .Address
        If Len(GetCellHyperlinkAddress) Then
            If Len(.SubAddress) Then GetCellHyperlinkAddress = GetCellHyperlinkAddress & "#" & .SubAddress
             
            If GetCellHyperlinkAddress Like "..*" Then GetCellHyperlinkAddress = cell.Worksheet.Parent.Path & "\" & Replace(GetCellHyperlinkAddress, "/", "\")
            Exit Function
        End If
    End With  
     
    Dim txt$, Brackets&, Quotes&, i&
    If GetCellHyperlinkAddress = "" Then
        If cell.Formula Like "=HYPERLINK*" Then
            txt$ = Mid$(cell.Formula, 12)
            txt$ = Left(txt, Len(txt) - 1)
            For i& = 1 To Len(txt)
                Select Case Mid(txt, i, 1)
                    Case "(": Brackets& = Brackets& + 1
                    Case ")": Brackets& = Brackets& - 1
                    Case """": Quotes& = Quotes& + 1
                    Case ","
                        If (Brackets& = 0) And (Quotes& Mod 2 = 0) Then
                            txt = Left(txt, i - 1)
                            Exit For
                        End If
                End Select
            Next
            GetCellHyperlinkAddress = Evaluate(txt)
        End If
    End If
    Err.Clear
End Function
Изменено: Игорь - 18.06.2024 14:46:40
 
ошибка
 
просто удалите эту строку кода
Страницы: 1
Читают тему
Наверх
Loading...