首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何克服Excel中超链接的限制?

如何克服Excel中超链接的限制?
EN

Stack Overflow用户
提问于 2017-01-16 12:58:33
回答 5查看 6.2K关注 0票数 1

我有一个超过100000个单元格的链接列表。

我必须给它们提供超链接,但在Excel中,每个工作表有66530个超链接的限制。

如何克服限制或如何使用VBA合并具有相等值的单元格?

代码语言:javascript
运行
复制
Sub AddHyperlinks()

    Dim myRange As Range
    Set myRange = Range("A1")
    Dim hText As Variant

    Do Until IsEmpty(myRange)

        hText = Application.VLookup(myRange.Value, Worksheets("Sheet2").Range("A:B"), 2, False)

        If IsError(hText) Then
            hText = ""
        Else
            ActiveSheet.Hyperlinks.Add Anchor:=myRange, Address:="http://" + hText, TextToDisplay:=myRange.Text
            hText = ""
        End If

        Set myRange = myRange.Offset(1, 0)
    Loop

End Sub
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-01-16 16:09:49

只是常规的复制粘贴应该可以工作,但如果它不能工作,我可以更新示例(未测试)

代码语言:javascript
运行
复制
Sub AddHyperlinks() 

    Dim rng As Range, rngFrom As Range, values, r
    Set rng = ThisWorkbook.Worksheets("Sheet1").Range("A1")
    Set rngFrom = ThisWorkbook.Worksheets("Sheet2").Range("A:A")

    rng.Worksheet.Hyperlinks.Delete   ' remove all previous Hyperlinks

    While rng(1) > ""

        ' resize the range to the same values
        While rng(rng.Rows.Count + 1) = rng(1)
            Set rng = rng.Resize(rng.Rows.Count + 1)
        Wend

        r = Application.Match(rng(1), rngFrom, 0)    
        If Not IsError(r) Then
            values = rng.Value2    ' save the values 
            rngFrom(r, 2).Copy rng ' copy from the cell next to the match
            rng.Value2 = values    ' restore the values (not sure if it removes the links) 
        End If

        Set rng = rng(rng.Rows.Count + 1) ' move to the next cell below
    Wend

End Sub
票数 1
EN

Stack Overflow用户

发布于 2019-12-20 12:53:09

@Rory提到的解决方案是:在单元格中使用HYPERLINK函数通过公式模拟超链接。

代码语言:javascript
运行
复制
=HYPERLINK(url, displaytext)

这有效地绕过了Excel对“硬编码”超链接的内置限制。在我遇到臭名昭著的错误1004之后,我对此进行了测试:

代码语言:javascript
运行
复制
Application-defined or object-defined error

尝试在工作表中创建100k+超链接时。

票数 2
EN

Stack Overflow用户

发布于 2017-01-16 13:07:00

255个字符的限制适用于一个单元格的公式中可以放入的字符限制。一种常见的方法是将链接拆分成多个单元格,并使用公式将它们组合在一起。

代码语言:javascript
运行
复制
=HYPERLINK(A1&A2,"Click Here")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41669690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档