更改所有工作表中的超链接地址(使用Mac 2011)
我有一个工作Excel VBA代码,在每个工作表中replace超链接文本。 检查下面的代码
' Only change Hyperlinks in the active sheet Sub FixHyperlinks() Dim wks As Worksheet Dim hl As Hyperlink Dim sOld As String Dim sNew As String Set wks = ActiveSheet sOld = "%5C" sNew = "/" For Each hl In wks.Hyperlinks hl.Address = Replace(hl.Address, sOld, sNew) Next hl End Sub
问题是,工作簿有大约30张!
我如何使这个macros在活动工作簿中的所有工作表中运行?
在每个循环中使用一个循环来遍历ThisWorkbook.Worksheets中的所有工作表:
Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets 'do something Next ws
所以在你的情况下:
For Each ws In ThisWorkbook.Worksheets For Each hl In ws.Hyperlinks hl.Address = Replace(hl.Address, sOld, sNew) Next hl Next ws
您唯一需要添加的是循环所有表格的工作簿,请参阅下面的修改后的代码:
Sub FixHyperlinks() Dim wb As Workbook Dim wks As Worksheet Dim hl As Hyperlink Dim sOld As String Dim sNew As String Set wb = ThisWorkbook ' loop ThisWorkbook all Sheets For Each wks In wb.Worksheets sOld = "%5C" sNew = "/" For Each hl In wks.Hyperlinks hl.Address = Replace(hl.Address, sOld, sNew) Next hl Next wks End Sub