2017-11-30 1 views
1

이 코드가 작동하지 않는 것 같습니다. 런타임 오류 13 '형식 불일치'가 나타납니다. 코드에서 알 수 있듯이 Z6 : Z9의 범위에서 X 및 Y 축 값을 설정하고 싶습니다.두 제한에 대한 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 
+0

시작으로 'Cht'를 '차트'로 선언하십시오. 아래 몇줄을 얻을 것입니다. :) – Vityata

+1

저에게 "객체가이 속성 또는 메서드를 지원하지 않습니다."라는 오류 메시지가 표시됩니다. ( –

+0

알아요 :) 그러나 코드를 아래로 이동하기 시작했습니다. – Vityata

답변

2

일반적으로 코드에는 약 3 개의 오류가 있습니다. 당신은 ChartObject로 CHT를 선언,하지만 당신은 차트로 설정

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 
  • : 이는 모습 방법이다.
  • ChartObject로 선언하는 경우 .Axes을 얻으려면 차트 개체의 .Chart을 참조해야합니다.
  • .을 사용할 때마다 위의 with을 나타냅니다. .RangeChart.Axes(xlCategory)입니다.
  • 마지막으로 중요한 것은 - 코드를 StackOverflow으로 업로드 할 때 "재생산"하는 것이 좋습니다. 따라서, Worksheets("Data Input & Summary")의 instad는 Worksheets(1)로 작성하십시오. 이름을 직접 고치십시오.
+1

아, 설명해 주셔서 감사합니다! –

+0

@KevinP. - 천만에요. – Vityata