我们正在管理网络系统中的一些系统错误,并在电子表格中为执行者设置优先级。 每张票都有一个“FD-”,四个号码作为ID。 Web系统有一个超链接,在链接的末尾有“FD - ####”。 最终结果如下所示 - http://www.mytickets.com/FD-####
我想运行一个查找所有FD的宏 - ####并在每个上插入一个超链接。
单个单元格中可能有多个FD - ####,其中肯定会有其他文本。
我会浏览每个链接,但是有超过150个链接。
谢谢!
答案 0 :(得分:2)
正如评论中所提到的,Excel似乎不支持单元格中的多个超链接。
以下代码将从故障单替换为链接:
Option Explicit
Sub loop_over_cells()
Dim a_cell
Dim replaced As String
For Each a_cell In ActiveSheet.UsedRange
Debug.Print "old value " & a_cell.Value
replaced = RegexReplace(a_cell.Value, "(fd-\d{4}\b)", "=hyperlink(" & Chr(34) & "http://cnn.com/$1" & Chr(34) & ")")
a_cell.Value = replaced
Debug.Print "new value " & a_cell.Value
Next
End Sub
Function RegexReplace(search_string, ptrn, rplc)
Dim regEx
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = ptrn
regEx.IgnoreCase = True
regEx.Global = True
RegexReplace = regEx.replace(search_string, rplc)
End Function