我正在开展一项任务,我应该在excel工作簿中填写一些数据(使用.NET),现有的图表对象将根据给定的数据绘制线图。遗憾的是,工作簿中的宏会引发错误"Unable to set MinimumScaleIsAuto property of Axis class"
。
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.BaseUnitIsAuto = True
.MajorUnit = 2
.MajorUnitScale = xlMonths
.MinorUnitIsAuto = True
.Crosses = xlAutomatic
.AxisBetweenCategories = False
.ReversePlotOrder = False
End With
我是VBA的新手,Excel图表和excel文件的原作者不在身边。但是由于excel文件在很长一段时间内都在使用(用户手动填充数据),我怀疑自动数据输入是否有问题。
X轴用日期绘制,Y轴用一些浮点值绘制。
这个错误一直困扰着我,因为我很困难。请有人帮帮我吗?
答案 0 :(得分:0)
感谢编辑GSerg。 我确实找出了造成这个问题的原因。我发送日期作为我的程序中的字符串,因为我不希望时间组件与日期一起出现。我认为Excel不会将这些视为日期,而是视为字符串。我写了一个小宏来使用CDate函数转换范围内的每个单元格,一切正常。
Sub ConvertStringsToDates(oRange As Range)
For Each c In oRange.Cells
c.Value = CDate(c.Value)
c.NumberFormat = "dd-mmm-yy"
Next
End Sub