Vba 循环浏览选定图纸(设置activewindow.SELECTED图纸)

Vba 循环浏览选定图纸(设置activewindow.SELECTED图纸),vba,excel,Vba,Excel,我的目标是仅在选定的图纸中执行VBA代码 我尝试了以下方法: 1 Sub selectedsheet() 2 Dim sh As Worksheet 3 Dim selectedshs As Worksheets 4 5 Set selectedshs = ActiveWindow.SelectedSheets 6 7 For Each sh In selectedshs 8 Ms

我的目标是仅在选定的图纸中执行VBA代码

我尝试了以下方法:

1    Sub selectedsheet()
2        Dim sh As Worksheet
3        Dim selectedshs As Worksheets
4        
5        Set selectedshs = ActiveWindow.SelectedSheets
6        
7        For Each sh In selectedshs
8            MsgBox sh.Name
9        Next sh
10    End Sub
但是,在第5行中,出现运行时错误13-类型不匹配


任何帮助都将不胜感激。谢谢

您是否可以只使用所选工作表的计数(即activewindow.SelectedSheets.count)然后使用整数在这些工作表(即activewindow.SelectedSheets(1.name))之间循环?

您需要将所选工作表声明为通用对象

Sub selectedsheet()
    Dim sh As Worksheet
    Dim selectedshs As Object

    Set selectedshs = ActiveWindow.SelectedSheets

    For Each sh In selectedshs
        MsgBox sh.Name
    Next sh
End Sub


尝试将
Selectedshs
更改为图纸集合(工作表和图纸对象之间存在子项区别),这样做有效。谢谢!抱歉,如果我没有包括代码的其他部分,因为它相当长。我不能这样做,因为在循环浏览选定的工作表之前,我添加了一个新工作表,从而使新工作表成为唯一选定的工作表。不过还是要谢谢你!
Sub selectedsheet()
    Dim sh As WorkSheet

    For Each sh In ActiveWindow.SelectedSheets
        MsgBox sh.Name
    Next sh

End Sub