2012-10-16 52 views
0

我在VB.NET中生成氣泡圖,我認爲將氣泡的邊界加厚會更好,所以更容易看到是否有重疊,但我不能理清如何去做。要做到這一點,你只需右鍵點擊泡泡,去邊框樣式,並把你的價值。Excel VB.NET如何更改氣泡圖中單個氣泡的邊界?

我整理出來如何改變氣泡與顏色:

.chart.SeriesCollection(i).interior.color = RGB 

我花了相當多的時間閱讀四處尋找類似的東西,讓我提高邊框粗細點左右,但我沒有運氣。

任何人都知道該怎麼做?一如既往的感謝!

更新:我做的事:

  With oChart 

      With CType(.SeriesCollection, Excel.SeriesCollection) 
       .NewSeries() 
       With CType(.Item(counterVal - 43), Excel.Series) 
        .Name = mainSheet.Range("a" & counterVal).Value 
        .XValues = mainSheet.Range("b" & counterVal).Value 
        .Values = mainSheet.Range("d" & counterVal).Value 
        .BubbleSizes = mainSheet.Range("c" & counterVal).Value 
        .HasDataLabels = True 
        .DataLabels.Position = XlDataLabelPosition.xlLabelPositionAbove 
        'DL.ShowSeriesName = True 
        .Has3DEffect = True 
        .Format.ThreeD.SetThreeDFormat(Microsoft.Office.Core.MsoPresetThreeDFormat.msoThreeD1) 
        '.Format.Line.Weight = 1.5 
       End With 
      End With 
     End With 

最後我只是用3D效果,而不是線寬,但我離開了他們無論是在

回答

1

例如

Dim ws As Worksheet 
Dim co As ChartObject 
Dim ch As Chart 
Dim sr As Series 
Dim pt As Point 

Set ws = ActiveSheet 
Set co = ws.ChartObjects(1) 
Set ch = co.Chart 
Set sr = ch.SeriesCollection(1) 
Set pt = sr.Points(19) 

pt.Select 

With Selection.Format.Fill 
    .Visible = msoTrue 
    .ForeColor.ObjectThemeColor = msoThemeColorAccent2 
    .ForeColor.TintAndShade = 0 
    .ForeColor.Brightness = 0 
    .Transparency = 0 
    .Solid 
End With 
With Selection.Format.Line 
    .Visible = msoTrue 
    .ForeColor.RGB = RGB(0, 176, 80) 
    .Transparency = 0 
End With 
+0

道歉,只是看到你問VB.Net和這個答案是VBA。但是,您仍然需要參考您的SeriesCollection中的關鍵點 – JustinJDavies

+0

謝謝,我把它放在VBA和VB.NET中,因爲很多時候VBA通知.NET,這是極少數情況下宏記錄器失敗了我。我要深入瞭解你發佈的內容,看看我能否從中得到答案,到目前爲止它看起來很有希望。 – asjohnson

+0

在VBA中有一種奇怪的行爲,因此如果沒有'pt.Select'語句,這段代碼就不會工作。如果您嘗試直接更新'Point.Format.Fill',它似乎不起作用。 – JustinJDavies