2013-09-30 7 views
1

xlvalues ​​축에서 색 변경을 기록하려고 시도 할 때 매크로 기록기에 버그가있는 것 같습니다. 기록되지 않습니다. 내가해야 할 일은 그라데이션의 방사형 컬러를 2 가지 다른 음영과 투명도로 설정하는 것입니다.Excel VBA - 졸업 할 xlvalues ​​축 색 설정

내 차트를 설정하려면이 코드를 사용하고 있습니다 :

ActiveSheet.Shapes.AddChart.Select 

    With ActiveChart 
     .ChartType = xlRadar 
     .SetSourceData Source:=Range(StartCell, StopCell) ' Those contain a range of interesting data 
     With .SeriesCollection(1) 
      .Name = "=""Line 1""" 
      .Format.Line.Weight = 1.5 
     End With 
     With .SeriesCollection(2) 
      .Name = "=""Line 2""" 
      .Format.Line.Weight = 1.5 
      .Format.Line.DashStyle = msoLineDash 
     End With 
     .SetElement (msoElementChartTitleAboveChart) 
     .ChartTitle.Text = Left(Cells(StartCell.Row, 1).Text, 2) & "." & Mid(Cells(StartCell.Row, 1).Text, 3, 1) & " GHz" 
     With .Axes(xlValue) 
      .TickLabels.NumberFormat = "# ""dB""" 
      .Border.ColorIndex = 3 ' <- This is yet to be modified 
     End With 
    End With 

를 내가 그걸 어떻게해야합니까? 나는 모든 것을 Excel에서 만들 수 있다고 생각했는데, 또한 프로그래밍 방식으로 VBA에서 수행 될 수있었습니다 ...

+0

은 ['this'] (http://vba4all.wordpress.com/2013/09/26/macro-recorder-xy-scatter-bug/) 관련? –

+0

아니요 .Border.ColorIndex'는 색상을 잘 바꾸는 것만으로 작동합니다 ... 회색 그래디언트로 설정해야만 빨간색 (= 3)이됩니다. – Noldor130884

+0

은 '3'대신 '15'을 시도합니다. - 원인은 15입니다. 회색 –

답변

1

나는 당신이 내가 가지고있는 대답에 만족하지 않을 것이라고 생각하지만 여기에갑니다.

이것은 MS가 수정하지 않은 버그 인 것으로 보입니다.

개체 브라우저 나 로컬 창으로 이동하면 사실상 그라디언트를 조작 할 수있는 축의 Format.Line 속성에 대해서는 아무것도 없습니다. 매크로를 기록하는 동안 관찰하고 해당 대화 상자에서 수행하는 수동 작업에 관계없이 레코더는 .Visible = msoTrue 만 기록합니다. 여기

나는 결과로 얻을하고자하는 것입니다 :

enter image description here

동안 , 축 값 레이블에 영향을 시각적으로 만 표시되는 축 '.Format.Fill 그라데이션을 조작 할 수 없습니다 축선 자체는입니다.

enter image description here

은 가끔 축 라인에 매우 유사하게 사용할 수있는 라인 Shapes과 같은 제한 사항을 준수하십시오. 거푸집도없고, 같은 문제입니다. 수동으로 할 수는 있지만 레코더는 아무런 결과도 얻지 못하고 개체 브라우저에는 관련 속성이 표시되지 않습니다.

Axis.Format에 대한 MS의 설명서는 even worse입니다!

enter image description here

이 오랫동안 여기

동안 존재 한 문제가 나타납니다

는 존 펠티어 lamenting this problem over 7 years ago입니다. 많은 형태와 관련된 그라디언트 채우기는 2007 년에 새로 추가 된 것입니다. 실제로이 버전에서는 강력하게 만들지 않았으므로 이후로 고정시키지 않았습니다.

난 그냥 개체 브라우저 및 2007 년 에 대한 온라인 도움말을 통해 보았다 그러나이 중 어느 것도 라인과 관련되지 않은 2007 년에 처음이 LinearGradient 및 ColorStops, 같은 목록에 몇 가지 새로운 가지가있다 또는 LineFormat 및 Line 및 LineFormat에는 새 속성이 없거나 메서드가 있습니다. MSDN의 VBA Language Reference에는 아직 Office 2007이 에 포함되어 있지 않습니다. 새 셰이프를 프로그래밍하는 방법에 대한 설명이 어디에도 없습니다. 에 대한 매크로 레코더 기능이 없으므로이 새로운 개체 모델에 대한 통찰력을 얻지 못하는 것은 매우 불행한 일입니다.

그리고 또 다른 Microsoft MVP describing this as essentially hopeless까지는 VBA에 관한 것입니다. 이것은 PowerPoint 용이지만 일반적인 기능과 방법은 동일해야합니다. PPT의 도형은 XLS 또는 Word의 도형과 실제로 다르지 않습니다. 마찬가지로 모든 응용 프로그램의 차트는 이제 MSGraph가 아니라 동일한 Excel 차트입니다.

버그가 보인다하지만 해결책이 나타나지 않습니다

액세스 (예를 들어, .Format.Line.Fill... 등) 단순히 존재하지 않는하려고 수 속성 - 잘, 실제로 나는 그들은 존재한다고 의심하지만, 당신이나 VBA에 노출되지 않았습니다. 호출하려고하면 오류가 발생합니다. (

+0

첫 번째 실제 VBA 문제를 발견 한 것 같습니다. :/글쎄, 그들이 그것을 고치기를 바란다. 이에 대한 해결 방법을 찾는 사람들에 대한 정보를 찾으면 알려 주시기 바랍니다. – Noldor130884