将图表工作表variables设置
我的代码停在下面一行:
Dim wks As Worksheet Set wks = ThisWorkbook.Sheets(vSheets(i, 1))
与错误:
Run-time error 13, type mismatch
但是,在这条线上,我可以input:
? ThisWorkbook.Sheets(vSheets(i, 1)).Name
进入即时窗口并得到结果
Cashf
很明显,工作表是基于名称vSheets(i,1)find的。 为什么我不能将其设置为工作表? Cashf是作为工作表创build的图表。 这些是与工作表不同的对象吗?
表是工作表和图表的集合。 图表和工作表是不同types的对象。 您应该将wrk定义为变体。
以下示例打印工作簿中的所有工作表名称及其types
Dim s As Variant For Each s In ThisWorkbook.Sheets Debug.Print s.Name, TypeName(s) Next
尝试使用ThisWorkbook.Worksheets而不是ThisWorkbook.Sheets [如果您需要variables作为工作表。]
如果不是,请不要声明该types或将其声明为Variant。
Public Sub main()
Dim ws Set ws = ThisWorkbook.Sheets(1) Debug.Print ws.Name, ws.Type Set ws = ThisWorkbook.Sheets(2) Debug.Print ws.Name, ws.Type
结束小组