vba - Excel VBA 列表框链接

标签 vba excel excel-2007 excel-2010

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

当我单击宏上的按钮时,它会从 Excel 工作表中获取所有信息并显示名字并将其放入列表框中。

我想知道,当我单击按钮时,是否有可能在列表框中显示第一个名字,同时还存储一个链接?当我在列表框中选择一个项目时,我希望它打开链接。这可能吗?

我想到了一种方法,那就是使用列表框和一个存储链接的数组,当我单击一个项目时,它会搜索数组然后打开链接,例如:如果我单击第一个列表框中的项目,它将进入数组并转到 array(1),然后获取该链接。

这是我想到的一种方法,但是有更简单的方法吗?而不是我将链接存储到数组中等等。

我当前的代码是:

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

我不知道如何添加此代码的超链接

最佳答案

更新:

我要做的是创建包含两列的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

然后您可以双击列表框中的任何项目来跟踪超链接:

enter image description here

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

关于vba - Excel VBA 列表框链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23110442/

相关文章:

vba - 将非空白单元格复制到下面的单元格中,对每个空白单元格重复

python - 从多个 txt 文件中读取 - 剥离数据并保存到 xls

Excel VBA 语法错误

python - 用openpyxl编辑一个Excel2007文件(.xlsx)而不改变其自身的样式?

Excel - 调整大小

vba - 错误替换双引号而不是双角引号 VBA Word

excel - protected 工作表上的 ActiveSheet.Paste 错误

arrays - 如何从数组中存储的单元格地址中选择一组不相邻的单元格?

excel - 如何使用 VBA 从可变 Excel 工作簿中复制数据?

vbscript excel 创建工作表