【问题标题】:How to pass the hyperlink string from one workbook to another如何将超链接字符串从一个工作簿传递到另一个工作簿
【发布时间】:2015-12-14 12:40:01
【问题描述】:

我有两个工作簿“UI.xlsm”和“Gas_Insulated_MV_Circuit.xlsm”,在第一个工作簿 (UI.xlsm) 中,我在特定列中维护了一个超链接列表,单击该链接将带我到a 相应的其他工作簿。

任务是从“UI.xlsm”工作簿中捕获单击的超链接的文本,我必须在“Gas_Insulated_MV_Circuit.xlsm”中使用相同的值

以下是 UI.xlsm 工作簿中的代码,我在其中捕获单击的超链接单元格文本并将其存储为字符串

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Dim BR as String
    BR = Target.Range.Text  'Here i'm storing the clicked cell text 
End Sub

现在我需要在另一个工作簿“Gas_Insulated_MV_Circuit.xlsm”中使用 BR 字符串值

Public BR as String   ' I have declared BR as a public variable
  Private Sub CommandButton27_Click()
  Dim WbUI as Workbook
  Dim WsUI as Worksheet
  Dim File1 as string


  Set WbUI = Workbooks ("UI.xlsm")
  Set WsUI = WbUI.Sheets("Sheet1")

  File1 = BR ' I want something like this, where i can assign BR value from                        
                UI.xlsm workbook to File 1 of the current workbook

End Sub

谁能帮我实现它。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    我在 UI.xlsm 工作簿中创建了一个已定义的名称(例如 myBR),其中=Sheet1!A1 作为指的是:。使用定义的名称“种子”,我将您的 Worksheet.FollowHyperlink 事件宏更改为,

    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
            ThisWorkbook.Names("myBR").RefersToR1C1 = _
              Chr(61) & Chr(34) & Target.Range.Text & Chr(34)
    End Sub
    

    Gas_Insulated_MV_Circuit.xlsm 工作簿中,我可以检索最近点击的超链接的单元格文本(即TextToDisplay 属性),

    =UI.xlsm!myBR
    

    打开两个工作簿后,单元格值立即发生变化。在 VBA 中对字符串或整数变量赋值应该没问题。

    【讨论】:

    • 什么是 myBR?它是 A1 处的单元格文本吗?
    • 公式 ► 定义的名称 ► 名称管理器 ► 添加 ► 名称:myBR,范围:Workbook,引用:=Sheet1!A1 。这将创建一个名为 myBR 的命名范围,稍后可以使用 Worksheet_FollowHyperlink 事件宏进行更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    相关资源
    最近更新 更多