Гиперссылка на новое добавленное значение ячейки из закрытой книги - PullRequest
0 голосов
/ 18 февраля 2019

Я не могу связать обсуждение этой темы на этом форуме.
У меня есть код, который использует функцию hyperlink, но не работает.

У меня открыта рабочая книга ввремя выполнения docname, которое служит базой данных.
И wbSource - текущая открытая рабочая книга.wbSource отправит значение ячейки в docname и должно быть преобразовано в hyperlink.
path - это каталог
Dest папка назначения внутри path
wb.Cells(BB + 2, 2)получатель.Файл, который должна открыть гиперссылка, создается почти в то же время, когда была создана ссылка (строка с командой saveas).

Set wb = Workbooks(DocName).Sheets("Sheet1")
Set wbs = Workbooks(wbSource).Sheets("MACRO")

Dim BB As Integer
wb.Cells(1, 1) = "=counta(B:B)"
BB = wb.Cells(1, 1)

wbNew = InputBox("Enter the 'Mold Number' or 'Part Name' here", "FileName")
ActiveWorkbook.SaveAs FileName:=Path & "\" & DesT & "\" & "RFQ Details_" & wbNew 
Open wbNew For Output As #1
Close #1

wb.Cells(BB + 2, 2) = Hyperlink(Path & "\" & DesT & "\" & "RFQ Details_" & wbNew) 'THIS PART DOES NOT WORK!

Все работает довольно хорошо, кроме последней строки.Я чувствую, что чего-то не хватает в этой последней части.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Совет : Если у вас есть сомнения, если MS Excel позволяет вам, запишите макрос и просто отредактируйте его.

Я предполагаю, что у вас есть действительные значения для BB,Path, Dest и DocName

Это то, что вы пытаетесь?

Dim completePath As String

completePath = Path & "\" & DesT & "\" & "RFQ Details_" & wbNew

Set ws = Workbooks(DocName).Sheets("Sheet1")
Set rng = ws.Cells(BB + 2, 2)

rng.Hyperlinks.Add Anchor:=ws.Range(rng.Address), _
                   Address:=completePath, _
                   TextToDisplay:=completePath

Протестировано с приведенными ниже примерами значений, и оно работает:)

Sub Sample()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim BB As Long: BB = 1
    Dim rng As Range

    Dim Path As String, DesT As String, wbNew As String
    Dim completePath As String

    '~~> Sample Values
    Path = "C:\Users\routs\Desktop"
    DesT = "test"
    wbNew = "Sample.xlsx"
    DocName = ThisWorkbook.Name

    Set wb = Workbooks(DocName)
    Set ws = Workbooks(DocName).Sheets("Sheet1")
    Set rng = ws.Cells(BB + 2, 2)

    completePath = Path & "\" & DesT & "\" & "RFQ Details_" & wbNew

    rng.Hyperlinks.Add Anchor:=ws.Range(rng.Address), _
                       Address:=completePath, _
                       TextToDisplay:=completePath
End Sub
0 голосов
/ 18 февраля 2019

Я не знаю, почему это не сработало, но у меня работает, не могли бы вы попробовать это:

worksheets("Sheet1").hyperlinks.add _
    anchor:=range("A1"), _
    address:="https://9gag.com", _
    texttodisplay :="9Gag"

Отредактированный код:

wb.Hyperlinks.Add _ 
    anchor:=Cells(BB + 2, 2), _  
    Address:=(Path & "\" & DesT & "\" & "RFQ Details_" & wbNew), _  
    TextToDisplay:=Cells(BB + 2, 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...