Доброе утро люди,
Я хочу переключить серию диаграмм с помощью VBA и пользовательской формы для выбора конкретной серии, у меня был успех с линейной диаграммой. Однако, когда я пытаюсь использовать гистограмму, кажется, что она не обновляет данные, а только легенду.
Код VBA, который я использую:
Модуль:
Option Explicit
Sub ChartContent() 'Excel VBA process to select the chart and show the userform.
ActiveSheet.ChartObjects.Select
ufChart.Show
End Sub
Пользовательская форма:
Option Explicit
Private Sub cmdApply_Click()
Dim iSres As Integer
Application.ScreenUpdating = False
With ActiveChart
.HasLegend = False
.HasLegend = True
For iSres = .SeriesCollection.Count To 1 Step -1
If ListBox1.Selected(iSres - 1) Then
.SeriesCollection(iSres).Border.LineStyle = xlAutomatic
.SeriesCollection(iSres).MarkerStyle = xlAutomatic
Else
.SeriesCollection(iSres).Border.LineStyle = xlNone
.SeriesCollection(iSres).MarkerStyle = xlNone
.Legend.LegendEntries(iSres).Delete
End If
Next
.Deselect
End With
Unload Me
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub ListBox1_Click()
End Sub
Private Sub UserForm_Initialize()
Dim iSres As Integer
With ActiveChart
For iSres = 1 To .SeriesCollection.Count
ListBox1.AddItem .SeriesCollection(iSres).Name
ListBox1.Selected(ListBox1.ListCount - 1) = Not (.SeriesCollection(iSres).Border.LineStyle = xlNone)
Next
End With
End Sub
У кого-нибудь есть предложения о том, почему это может происходить, и возможные решения, чтобы я мог применить этот VBA к гистограмме, я не совсем уверен, почему он не обновляется с помощью гистограммы.
Большое спасибо,