我在excel中有一个列,其中我有所有的网站url值。我的问题是我想把url值转换为活动链接。该列中大约有200个条目,所有单元格中都有不同的url。是否有一种方法可以在不编写宏的情况下创建到所有单元格的活动超链接。
当前回答
谢谢仙后座的代码。我更改了他的代码,使其与本地地址一起工作,并对他的条件做了一些更改。我删除了以下条件:
将http:/修改为file:/// 删除了所有类型的空白条件 改变10k单元格范围条件为100k
Sub HyperAddForLocalLinks()
Dim CellsWithSpaces As String
'Converts each text hyperlink selected into a working hyperlink
Application.ScreenUpdating = False
Dim NotPresent As Integer
NotPresent = 0
For Each xCell In Selection
xCell.Formula = Trim(xCell.Formula)
If InStr(xCell.Formula, "file:///") <> 0 Then
Hyperstring = Trim(xCell.Formula)
Else
Hyperstring = "file:///" & Trim(xCell.Formula)
End If
ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=Hyperstring
i = i + 1
If i = 100000 Then Exit Sub
Nextxcell:
Next xCell
Application.ScreenUpdating = True
End Sub
其他回答
我有一个数字列表,馈送到url的我想热链接。 例如,我有一个列A的问题编号(即,2595692,135171),我想把这些问题编号转换为热链接,并只显示问题编号。
因此,我建立了一个指向列a的纯文本超链接,并将其复制下来用于我所有的问题编号:
=“=超链接(”&“”“http”&“”&“”/stackoverflow.com/questions/“&”&“”&A1&“)”
然后我复制粘贴值这一列的文本超链接到另一列。
你最终会得到如下所示的一列文本:
=超链接(“http”&“:”&“//stackoverflow.com/questions/2595692”,2595692)
然后我选择这些粘贴的项目,并运行F2Entry宏如下:
Sub F2Enter()
Dim cell As Range
Application.Calculation = xlCalculationManual
For Each cell In Selection
cell.Activate
cell = Trim(cell)
Next cell
Application.Calculation = xlCalculationAutomatic
EndSub
然后我删除了文本输入列和列A。
我最终得到了一列热链接的问题数字:
2595692
135171
etc.
干杯
我发现,如果超链接不包括http://,因为它们链接到本地位置,那么这里的方法都不起作用。
我还想让脚本万无一失,因为用户无法自己维护它,而我也无法使用。
它只会在选定范围内包含点且没有空格的单元格上运行。它最多只能运行1万个细胞。
Sub HyperAdd()
Dim CellsWithSpaces As String
'Converts each text hyperlink selected into a working hyperlink
Application.ScreenUpdating = False
Dim NotPresent As Integer
NotPresent = 0
For Each xCell In Selection
xCell.Formula = Trim(xCell.Formula)
If xCell.Formula = "" Or InStr(xCell.Formula, ".") = NotPresent Then
'Do nothing if the cell is blank or contains no dots
Else
If InStr(xCell.Formula, " ") <> 0 Then
CellsWithSpaces = CellsWithSpaces & ", " & Replace(xCell.Address, "$", "")
GoTo Nextxcell
End If
If InStr(xCell.Formula, "http") <> 0 Then
Hyperstring = Trim(xCell.Formula)
Else
Hyperstring = "http://" & Trim(xCell.Formula)
End If
ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=Hyperstring
End If
i = i + 1
If i = 10000 Then Exit Sub
Nextxcell:
Next xCell
If Not CellsWithSpaces = "" Then
MsgBox ("Please remove spaces from the following cells:" & CellsWithSpaces)
End If
Application.ScreenUpdating = True
End Sub
这个方法适用于我使用超链接函数:
=HYPERLINK("http://"&B10,B10)
其中B10是包含URL文本版本的单元格(在本例中)。
使用公式=HYPERLINK()创建一个临时的超链接新列 将该列复制到Microsoft Word(仅在Word运行后复制到剪贴板)。 复制新word文档中的所有内容(ctrl+a,然后ctrl+c)。 粘贴到Excel中,替换原来的文本列。使用公式删除临时列。
您可以插入公式=HYPERLINK(<your_cell>,<your_cell>)到相邻的单元格,并将其一直拖到底部。这将为您提供一个包含所有链接的列。现在,您可以通过单击标题,右键单击并选择Hide来选择原始列。
推荐文章
- 我如何用javascript编程点击链接?
- 为什么我在我的Excel插件中得到“无法在证书存储中找到清单签名证书”?
- c# XML文档网站链接
- 我如何在NSAttributedString中创建一个可点击的链接?
- 链接重新加载当前页面
- 如何创建在移动设备上呼叫电话号码的超链接?
- 没有href属性的锚标记安全吗?
- 我怎样才能得到任何URL或网页的谷歌缓存年龄?
- 在一个UILabel的NSAttributedString中创建可点击的“链接”?
- jQuery禁用链接
- 在Chrome中打印时需要删除href值
- 如何将一列文本url转换为Excel中的活动超链接?
- 如何将地址转换为谷歌地图链接(非地图)
- 如何使一个HTML回链接?
- 如何使按钮看起来像一个链接?