Excel宏-用于每个循环以超链接回主页/索引页
我有一个包含许多工作表的工作簿(365++)。同时,还有许多VBA代码示例,允许宏创建从索引页到内容的超链接;但是,完全没有创建从内容返回到索引页面的超链接的例子。 使用loop thru解决方案,我可以让代码正常工作,但它只对现有活动页面有效,而我需要它循环工作簿中的每个工作表范围“A1”,以将其链接回主页 代码如下:Excel宏-用于每个循环以超链接回主页/索引页,excel,vba,Excel,Vba,我有一个包含许多工作表的工作簿(365++)。同时,还有许多VBA代码示例,允许宏创建从索引页到内容的超链接;但是,完全没有创建从内容返回到索引页面的超链接的例子。 使用loop thru解决方案,我可以让代码正常工作,但它只对现有活动页面有效,而我需要它循环工作簿中的每个工作表范围“A1”,以将其链接回主页 代码如下: Sub vba_loop_sheets() Dim ws As Worksheet For Each ws In Worksheets 'Dummy
Sub vba_loop_sheets()
Dim ws As Worksheet
For Each ws In Worksheets
'Dummy data to test for loop
'ws.Range("A1").Value = "Dummy"
'Only works for existing sheets,need to loop for each loops of each sheets
Range("A1").Select
ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:="", SubAddress:="Main!A1", TextToDisplay:="Back to Main Sheet"
Next ws
End Sub
可以在所有工作表中启动循环,但在该循环中,您仅引用活动工作表,而不会更改活动工作表 您不需要ActiveSheet或Select。相反,使用循环中的
ws
工作表来限定工作表的.Hyperlinks.Add
和锚定范围。像这样:
Sub vba_loop_sheets()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Hyperlinks.Add Anchor:=ws.Range("A1"), Address:="", SubAddress:="Main!A1", TextToDisplay:="Back to Main Sheet"
Next ws
End Sub