Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 设置两个极限的X轴和Y轴_Vba_Excel - Fatal编程技术网

Vba 设置两个极限的X轴和Y轴

Vba 设置两个极限的X轴和Y轴,vba,excel,Vba,Excel,我似乎无法让这个代码正常工作。我得到一个运行时错误13“类型不匹配”。正如代码所示,我想从Z6:Z9的范围设置X轴和Y轴的值 Sub Axis() Dim Cht As ChartObject Set Cht = Worksheets("Data Input & Summary").ChartObjects("Chart 2").Chart With Cht.Axes(xlCategory) .MaximumScale = .Range("Z7").Val

我似乎无法让这个代码正常工作。我得到一个运行时错误13“类型不匹配”。正如代码所示,我想从Z6:Z9的范围设置X轴和Y轴的值

Sub Axis()
    Dim Cht As ChartObject
    Set Cht = Worksheets("Data Input & Summary").ChartObjects("Chart 2").Chart
    With Cht.Axes(xlCategory)
    .MaximumScale = .Range("Z7").Value
    .MinimumScale = .Range("Z6").Value
    End With
    With Cht.Axes(xlValue)
    .MaximumScale = .Range("Z9").Value
    .MinimumScale = .Range("Z8").Value
    End With
End Sub

一般来说,代码中大约有3个错误。 它应该是这样的:

Sub AxisSomething()

    Dim Cht As ChartObject
    Set Cht = Worksheets(1).ChartObjects(1)

    With Cht.Chart.Axes(xlCategory)
        .MaximumScale = Worksheets(1).Range("Z7").Value
        .MinimumScale = Worksheets(1).Range("Z6").Value
    End With

    With Cht.Chart.Axes(xlValue)
        .MaximumScale = Worksheets(1).Range("Z9").Value
        .MinimumScale = Worksheets(1).Range("Z8").Value
    End With

End Sub
  • 您将Cht声明为ChartObject,但将其设置为chart
  • 如果将其声明为图表对象,则要获取
    .Axes
    ,应参考图表对象的
    .Chart
  • 无论何时使用
    ,它都是指上面带有
    。并且
    .Range
    不应引用
    图表.Axes(xlCategory)
  • 最后但并非最不重要的一点——当您将代码上载到
    StackOverflow
    时,最好使其“可复制”。因此,安装
    工作表(“数据输入和汇总”)
    编写
    工作表(1)
    。然后你自己定名字

作为开始-将
Cht
声明为
图表
。您将在下面看到几行。:)这给了我“对象不支持此属性或方法”错误:(我知道:)但您已经开始向下移动代码:)