Excel VBA列表框链接

我目前有一个两列和多行的macros。 这两列包含信息,如名字和一个文件夹或网站的链接。

当我点击macros上的button时,它将从Excel工作表中获取所有信息,并显示名字并将其放置在列表框中。

我想知道,是否有可能,当我点击button,我显示列表框中的第一个名字,但也存储链接? 当我在列表框中select一个项目时,我希望它打开链接。 这可能吗?

我想到了一种方式,这是与列表框和一个数组存储链接,当我点击一个项目,它search数组,然后打开链接,对于EXMAPLE:如果我点击第一个项目列表框,它将进入数组并转到数组(1),然后获取该链接。

这是我想到的一个方法,但有没有更简单的方法? 而不是我存储链接到一个数组和所有这一切。

我现在的代码是:

For row = 3 To 10 ListBox1.AddItem Range("A" & row).Text Next 

我不知道如何添加超链接到这个代码

更新:

我会做的是创build两列的Listbox

 Private Sub UserForm_Initialize() Dim row As Integer ListBox1.ColumnCount = 2 ListBox1.ColumnWidths = "50;150" For row = 3 To 10 ListBox1.AddItem Range("A" & row).Text ListBox1.List(ListBox1.ListCount - 1, 1) = Range("B" & row).Text Next End Sub 

这里是ListBox1_DblClick处理程序(当用户双击列表框项目时):

 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo ErrHandler ThisWorkbook.FollowHyperlink Address:=ListBox1.List(ListBox1.ListIndex, 1) ExitHere: Exit Sub ErrHandler: If Err.Number = -2147221014 Then MsgBox "Wrong link!" Else MsgBox "Error: " & Err.Description End If Resume ExitHere End Sub 

然后你可以双击列表框中的任何项目来关注超链接:

在这里输入图像说明

另外,我build议你将Range("A" & row).Text改为ThisWorkbook.Worksheets("Sheet1").Range("A" & row).Text