如何将超链接string从一个工作簿传递到另一个

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

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

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

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”中使用BRstring值

 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 

任何人都可以帮助我实现它。

我在UI.xlsm工作簿中用=Sheet1!A1创build了一个定义的名称(例如myBR ), 指的是: 。 用这个定义的名字“种子”,我改变了你的Worksheet.FollowHyperlink事件macros,

 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中的string或整数variables应该没有问题。