如何在MS Access中用VBA修改散点图的主次刻度单位?
解决Access散点图修改主/次刻度单位的问题
你遇到的执行错误‘438’是因为用错了属性名称。Access中嵌入的散点图本质是Excel Chart对象,需使用Excel图表对象模型的标准属性来设置刻度单位:
- 主刻度单位对应属性:
MajorUnit - 次刻度单位对应属性:
MinorUnit
修正后的代码示例
' 设置X轴主/次刻度单位 Graphique1.Object.Axes(1, 1).MajorUnit = 1000 Graphique1.Object.Axes(1, 1).MinorUnit = 200 ' 设置Y轴主/次刻度单位 Graphique1.Object.Axes(2, 1).MajorUnit = 1000 Graphique1.Object.Axes(2, 1).MinorUnit = 200
结合你现有代码的完整写法
修改刻度最值后,建议显式设置刻度单位,避免Access自动重置参数,可在现有代码后添加刻度单位设置语句:
' 原有修改刻度最值的代码 Graphique1.Object.Axes(1, 1).MinimumScale = Texte2.Value ' X轴最小值 Graphique1.Object.Axes(2, 1).MinimumScale = Texte2.Value ' Y轴最小值 Graphique1.Object.Axes(1, 1).MaximumScale = Texte4.Value ' X轴最大值 Graphique1.Object.Axes(2, 1).MaximumScale = Texte4.Value ' Y轴最大值 ' 新增设置刻度单位的代码 Graphique1.Object.Axes(1, 1).MajorUnit = 250000 ' X轴主刻度单位 Graphique1.Object.Axes(1, 1).MinorUnit = 50000 ' X轴次刻度单位 Graphique1.Object.Axes(2, 1).MajorUnit = 250000 ' Y轴主刻度单位 Graphique1.Object.Axes(2, 1).MinorUnit = 50000 ' Y轴次刻度单位
你之前尝试的primaryunit、PrimaryValuesAxisDisplayUnits都不是Access嵌入图表(Excel Chart)的合法属性,这是导致报错的核心原因。
内容的提问来源于stack exchange,提问作者Etienne
相关产品推荐
相关产品推荐

