używanie VBA do wykresu bąbelkowego w Excelu
Mój kod to
Sub PieMarkers()
Dim chtMarker As Chart
Dim chtMain As Chart
Dim intPoint As Integer
Dim rngRow As Range
Dim lngPointIndex As Long
Dim thmColor As Long
Dim myTheme As String
Application.ScreenUpdating = False
Set chtMarker = ActiveSheet.ChartObjects("chtMarker").Chart
Set chtMain = ActiveSheet.ChartObjects("chtMain").Chart
Set chtMain = ActiveSheet.ChartObjects("chtMain").Chart
Set rngRow = Range(ThisWorkbook.Names("PieChartValues").RefersTo)
For Each rngRow In Range("PieChartValues").Rows
chtMarker.SeriesCollection(1).Values = rngRow
ThisWorkbook.Theme.ThemeColorScheme.Load GetColorScheme(thmColor)
chtMarker.Parent.CopyPicture xlScreen, xlPicture
lngPointIndex = lngPointIndex + 1
chtMain.SeriesCollection(1).Points(lngPointIndex).Paste
thmColor = thmColor + 1
Next
lngPointIndex = 0
Application.ScreenUpdating = True
End Sub
Function GetColorScheme(i As Long) As String
Const thmColor1 As String = "C:\Program Files\Microsoft Office\Document Themes 14\Theme Colors\Blue Green.xml"
Const thmColor2 As String = "C:\Program Files\Microsoft Office\Document Themes 14\Theme Colors\Orange Red.xml"
Select Case i
Case 0
GetColorScheme = thmColor1
Case 1
GetColorScheme = thmColor2
End Select
End Function
Kod ma na celu zmianę motywu kolorów kolejnych wykresów kołowych, które są używane jako bąbelki na wykresie bąbelkowym. Tak więc funkcja ma na celu wybranie schematu kolorów, który wcześniej zapisałem jako ciąg znaków, a następnie zmianę go zgodnie z przebiegiem skryptu, tak aby pierwszy kołowy miał inny kolor niż następny wykres kołowy .... Dostaję komunikat o błędzie podczas debugowania kodu w linii
ThisWorkbook.Theme.ThemeColorScheme.Load GetColorScheme (thmColor)
komunikat o błędzie to błąd runtime 2147024809 mówiąc, że wskazana wartość jest poza zakresem .. czy ktoś może mi pomóc, co wydaje się być problemem tutaj?
I czy byłby jakikolwiek sposób na zintegrowanie wyświetlania składników kołowych (nazwa komponentów, które są wskazane w nagłówku kolumny na każdym wykresie kołowym, a następnie przeniesione na wykres bąbelkowy?