gpt4 book ai didi

vba - 在 Excel 中,如何以编程方式编辑包含超链接的一系列单元格中的地址?

转载 作者:行者123 更新时间:2023-12-04 00:03:39 25 4
gpt4 key购买 nike

我有一个包含超链接的列,我想进行编程搜索并替换超链接地址 - 地址本身,而不是要显示的文本。我该怎么做?

最佳答案

通过修改范围对象的超链接元素的“地址”属性。超链接是一个集合,因此如果您的区域是单个单元格,您将选择第一个项目,但它允许您轻松循环遍历给定区域或工作表中包含的所有链接。

这是一个仅更改当前选定单元格链接的示例(注意:它必须已经有一个超链接)。

Sub ChangeLink()
Application.ActiveCell.Hyperlinks(1).Address = "www.test.com"
End Sub

这里有一个变体,可以将当前工作表中的所有链接更改为 www.google.com,只要它们当前未指向 www.google.com(不是必需的,只是为了演示):

Sub ChangeLinks()
For x = 1 To Application.ActiveSheet.Hyperlinks.Count
If Application.ActiveSheet.Hyperlinks(x).Address <> "www.google.com" Then
Application.ActiveSheet.Hyperlinks(x).Address = "www.google.com"
End If
Next x
End Sub

您还可以使用 Hyperlinks.Add 和 .Delete 方法添加和删除链接。TextToDisplay 属性允许您更改文本,而 Range 属性允许您访问(或找出)给定链接属于哪些单元格。

编辑:根据要求,这里是如何在一个特定列中的所有链接上执行此操作。

我通常喜欢创建一些变量来分配(设置)我正在使用的对象,例如工作表(此处称为“Sheet1”),然后是我将通过 myColumn 引用的实际列。如果您收到一条错误消息,这使您可以准确查明失败的位置。

请注意 Hyperlinks 集合如何根据您从中调用它的对象很好地 self 调整!

如果指定列中没有链接,我还添加了一个显示消息的检查。

Sub ChangeLinksInColumn()
Dim mySheet As Worksheet
Dim myColumn As Range

Set mySheet = Application.Worksheets("Sheet1")
Set myColumn = mySheet.Columns(3) ' Enter column number here

' Check if column contains hyperlinks
If myColumn.Hyperlinks.Count = 0 Then
MsgBox "No hyperlinks in specified column."
Else
' Perform task in myColumn only
For x = 1 To myColumn.Hyperlinks.Count
myColumn.Hyperlinks(x).Address = "www.google.com"
Next x
End If
End Sub

关于vba - 在 Excel 中,如何以编程方式编辑包含超链接的一系列单元格中的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8678752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com