有网友做了一个实例,根据用户选择来改变图表的类型,但选择自定义图表类型时(例如双轴柱线图),出现了错误,错误信息为:类型不匹配,但明明调试过双轴柱线图对应的ChartType常量是-4011,为何就出错呢?后来经过测试,总结出一下需要注意的地方:
Me.graphnow.ChartType = xlColumnClustered
'使用标准图型,指定图形ChartType 参数常量即可
Me.graphnow.ApplyCustomType ChartType:=xlBuiltIn, TypeName:="对数图"
'使用系统自带的自定义类型,ChartType参数必须指定为xlBuiltIn或者常量21,TypeName参数必需指定自定义类型图型名称
Me.graphnow.ApplyCustomType ChartType:=xlUserDefined, TypeName:="A1"
'使用用户真正的自定义类型,ChartType参数必须指定为xlUserDefined,TypeName必须指定为图型名称,"A1"为图表类型名称 xlBuiltIn和xlUserDefined的区别,从E文可以看出,前者MSGraph类已经预带的特殊类型,而后者是用户真正的自己定义的类型. 此法Excel的VBA里通用.