Vba 使用宏中的Max函数调整图表的纵轴

Vba 使用宏中的Max函数调整图表的纵轴,vba,excel,Vba,Excel,我试图在宏中使用Max函数,使图表的纵轴自动调整到单元格范围内的最大值。我已经开始了一个不起作用的宏,但下面是我要讲的要点。非常感谢您的帮助 ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).MaximumScale = Application.WorksheetFunction.Max(Range("D26:D100")) 下面是正确的编码VBA皮特帮我想出了,再次感谢 ActiveSheet.ChartObjects(1).Chart.Axes

我试图在宏中使用Max函数,使图表的纵轴自动调整到单元格范围内的最大值。我已经开始了一个不起作用的宏,但下面是我要讲的要点。非常感谢您的帮助

ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).MaximumScale = Application.WorksheetFunction.Max(Range("D26:D100"))

下面是正确的编码VBA皮特帮我想出了,再次感谢

ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).MaximumScale = Application.WorksheetFunction.Max(Range("D26:D100"))

对于将来的情况和良好的编码实践,请尽量避免使用ActiveSheet,而使用引用对象

Dim Sht As Worksheet
Dim ChtObj  As ChartObject

Set Sht = Worksheets("YourSheetName") '<-- set the worksheet your charts are in
Set ChtObj = Sht.ChartObjects(1) '<-- set the chart object to the specific chart object you want to modify

' now modify the chartobject properties
With ChtObj
    .Chart.Axes(xlValue).MaximumScale = Application.WorksheetFunction.Max(Sht.Range("D26:D100")) '<-- when defining the range, also fully qualify it with the worksheet name
End With

您在问题中发布的代码应运行无误。错误是什么?当您运行这一行时,您是否实际选择了图表?你有床单的名字吗?D26:D100范围内是否有任何错误值?包括范围:Application.WorksheetFunction.MaxRange26:D100您是否尝试过:ChartObjects1.AxesxlValue.MaximumScale实际是:ChartObjects1.Chart.AxesxlValue.MaximumScaleHow about:ChartObjects1.Chart.AxesxlCategory.MaximumScale