Функция гиперссылки с использованием переменных - PullRequest
0 голосов
/ 28 мая 2020

Я работаю над получением кода, который экспортирует PDF-файлы и создает на них гиперссылки. Короче у меня будет несколько листов. Один из них будет ссылкой на PDF-версию других листов.

Я работаю над созданием гиперссылок, но у меня возникают ошибки. Каждое руководство, которое я вижу, использует фиксированные значения для создания гиперссылок, поэтому все мои попытки сделать их с помощью переменных терпели неудачу.

Вот код, который я пробовал. Закомментированный раздел был моей первой попыткой, а с l oop - второй.

EDIT: первая попытка заполняет ячейку = гиперссылкой (CONCATENATE (link.value, own.value), own.value), а не значениями. Вторая попытка

Вторая попытка - это ошибка времени выполнения «1004»: выделение определяемой приложением или объектом ошибки

                    .Hyperlinks.Add Anchor:=main, _
                    Address:=Worksheets("Control Sheet").Range("a1").Value, _
                    TestToDisplay:=own

Раздел кода.

Значение для контрольного листа a1 равно C: \ Users \ BRL \ Desktop \ do c лист утверждения \ File import test \ в настоящее время я тестирую файл. Но я планирую переместить это в наш каталог, когда он будет заблокирован. Я не хотел усложнять его еще больше, пока он не заработал, но это должен быть C: \ Users \ BRL \ Desktop \ do c лист утверждения \ File import test ** own **** own.value. pdf **

own - это имя листа, который будет экспортирован в формате PDF (это еще не придумано)

Sub Makenewsheet(own As Range)
    Application.ScreenUpdating = False
    Sheets("Template").Select
    Sheets("Template").Copy After:=Sheets(4)
    ActiveSheet.NAME = own.Value
    Worksheets("Main Page").Activate
    Dim link As String
    link = Worksheets("Control Sheet").Cells(1, 1).Value
    MsgBox link
    Dim mainpage As Range
    Dim main As Range
    Set mainpage = Worksheets("Main Page").Range("a5:a22")
        For Each main In mainpage
            If IsEmpty(main) = True Then
            'main.Formula = "=hyperlink(CONCATENATE(link.value,own.value),own.value)"
                With Worksheets(1)
                    .Hyperlinks.Add Anchor:=main, _
                    Address:=Worksheets("Control Sheet").Range("a1").Value, _
                    TestToDisplay:=own
                End With
            GoTo maingame:
            End If
        Next main

maingame:
    Worksheets("Control Sheet").Activate


    Application.ScreenUpdating = True
End Sub

1 Ответ

0 голосов
/ 03 июня 2020

В коде обнаружены две проблемы, первая обнаружена выше, текст не тестируется. Но правильным было texttodisplay: = own.value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...