Vba 将宏从工作表应用到工作簿

Vba 将宏从工作表应用到工作簿,vba,excel,Vba,Excel,我有这段代码,但它只在您当前所在的工作表上运行。我希望它能贯穿整个工作簿。如何更改此项以实现此目的?为每个更改您的,并添加一个新变量 Sub ScreenTip() Dim hl As Hyperlink For Each hl In ActiveSheet.Hyperlinks hl.ScreenTip = CStr(hl.Range.Value) Next End Sub 更改每个的,并添加一个新变量 Sub ScreenTip() Dim

我有这段代码,但它只在您当前所在的工作表上运行。我希望它能贯穿整个工作簿。如何更改此项以实现此目的?

为每个更改您的
,并添加一个新变量

Sub ScreenTip()
    Dim hl As Hyperlink

    For Each hl In ActiveSheet.Hyperlinks
        hl.ScreenTip = CStr(hl.Range.Value)
    Next
End Sub

更改每个
,并添加一个新变量

Sub ScreenTip()
    Dim hl As Hyperlink

    For Each hl In ActiveSheet.Hyperlinks
        hl.ScreenTip = CStr(hl.Range.Value)
    Next
End Sub

哈哈,可乐在你身上!哈哈,可乐在你身上!它说类型不匹配,然后突出显示hl.ScreenTip=CStr(hl.Range.Value)@MichaelDowney我不能告诉你为什么,它对我来说很好。您是否尝试过使用调试器一步一步地遍历它?还要注意的是,我没有更改引发错误的那行代码,这是您的原始帖子中的错误。打开了另一个excel文件导致了问题。它说类型不匹配,然后突出显示hl.ScreenTip=CStr(hl.Range.Value)@MichaelDowney我无法告诉您原因,它对我来说很好。您是否尝试过使用调试器一步一步地遍历它?另外要注意的是,我没有更改引发错误的代码行,这是您的原始帖子中的错误。我打开了另一个excel文件导致了问题。
Sub ScreenTip()
Dim hl As Hyperlink
dim sh as worksheet
dim bk as workbook
set bk = whateverbook
for each sh in bk.sheets
    For Each hl In sh.Hyperlinks
        hl.ScreenTip = CStr(hl.Range.Value)
    Next hl
next sh
End Sub