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