【问题标题】:Excel, generating hyperlinks from CSV cellsExcel,从 CSV 单元格生成超链接
【发布时间】:2016-12-13 06:33:06
【问题描述】:

我有一个电子表格,其中包含对文件名(主要是照片)的引用。我想在不同的工作表中创建可以点击并打开文件的链接。我知道如何使用 =HYPERLINK() 但是很多单元格都有多个文件引用,在单个单元格中用逗号分隔。从研究中可以明显看出,没有办法将多个超链接映​​射到单个单元格。但是,有没有一种简单的方法可以将引用映射到移动到右侧列的单个单元格?我在网上进行了广泛的搜索,但找不到任何其他类似的案例。下面是简单的例子。

输入单元格 例如:“ae345_asd,c3stryui”

想要的输出:“C:/files/Photos/ae345_asd.jpg”“C:/files/Photos/c3stryui.jpg”

我也无法控制单个单元格中可以有多少引用,目前有大约 5 个以上引用的单元格。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    这应该可以帮助您入门。突出显示带有地址的单元格并运行宏。它将遍历突出显示的每个单元格,用逗号分隔符拆分内容,并为突出显示单元格右侧的单元格中的每个单元格创建超链接。此方法使用嵌套循环,如果您处理大量数据会很慢,但我猜这里不是这种情况,所以我保持简单。

    Sub splitHyperLinks()
        Dim sel As Range
        Set sel = Selection
    
        Dim arr() As String
        Dim cell As Range
        Dim i As Long
    
        'Loop through each cell highlighted
        For Each cell In sel
            arr = Split(cell, ",")
    
            'Loop through each link in cell
            For i = 0 To UBound(arr)
                'Create hyperlink
                cell.Offset(0, i + 1).Parent.Hyperlinks.Add Anchor:=cell.Offset(0, i + 1), Address:="C:/files/Photos/" & arr(i) & ".jpg", SubAddress:="", TextToDisplay:="Link"
            Next i
        Next cell
    End Sub
    

    结果

    【讨论】:

    • 这太棒了,我怎样才能让它显示在不同的工作表和起始列上?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 2017-05-30
    • 2021-05-12
    相关资源
    最近更新 更多