vba中的xlCategory错误

时间:2015-02-18 17:51:55

标签: vba excel-vba excel

我有一个图表,在x轴上有使用Excel VBA的最小值和最大值。

Set rng = ActiveWorkbook.Worksheets("Project Data").Range("A5:A202")

minimum = Application.WorksheetFunction.Min(rng)
maximum = Application.WorksheetFunction.Max(rng)

With ActiveSheet.ChartObjects("Initiation").Chart
    With .Axes(xlCategory)
        .MinimumScale = minimum
        .MaximumScale = maximum
    End With
    With .Axes(xlValue, xlPrimary)
        .MinimumScale = 0
        .MaximumScale = 100
    End With
End With

第二个内部" With"使用" xlValue"工作正常。

第一个内部" With"使用" xlCategory"导致运行时错误:Method" MinimumScale"对象" Axis"失败。

我无法弄清问题是什么。有谁知道它是什么?

非常感谢。

1 个答案:

答案 0 :(得分:0)

相应地纠正这些行

Dim minimum As Double: minimum = Cdbl(Application.WorksheetFunction.Min(rng))
Dim maximum As Double: maximum = Cdbl(Application.WorksheetFunction.Max(rng))

根据您的代码,该方法因类型不匹配而失败。 minimummaximum声明没有Dim,这使得它们是变体而不是双数据类型,并且根据MSDN的方法是读/写

在VBA编辑器中添加Option Explicit,这样您将收到编译器错误而非运行时错误。这意味着如果缺少dim,您将收到提醒。

在代码中只添加Option Explicit一次。它必须在子程序之外。