Поиск всех спарклайнов на листе

В следующем примере кода поле списка в пользовательской форме используется для отображения всех групп спарклайнов на активном листе. Щелкнув одну из групп спарклайнов в списке, на листе будет выбрана группа спарклайнов.

В этом примере требуется форма пользователя SparklineForm, поле списка в пользовательской форме SparklineListBox и кнопка в пользовательской форме с именем CloseBtn.

В редакторе Visual Basic вставьте модуль и скопируйте и вставьте следующий код. В этом коде показана форма пользователя.

Sub ShowUserForm()
    SparklineForm.Show
End Sub

В редакторе Visual Basic щелкните правой кнопкой мыши форму SparklineForm , выберите Пункт Просмотреть код, а затем скопируйте и вставьте следующий код. Процедура UserForm_Activate выполняет итерацию по всем группам спарклайнов на активном листе и получает адреса групп спарклайнов с помощью свойства Address объекта Range . Затем адрес добавляется в список. Процедура SparklineListBox_Click вызывается при щелчке адреса группы спарклайнов в списке. Эта процедура активирует выбранную группу спарклайнов на листе с помощью метода Activate объекта Range . Процедура CloseBtn_Click вызывается при нажатии кнопки в пользовательской форме и закрытии пользовательской формы.

Private Sub UserForm_Activate()
    'The sparkline group
    Dim oSparkGroup As SparklineGroup
    
    'Loop through all the sparkline groups on the sheet
    For Each oSparkGroup In ActiveSheet.Range("A:XFD").SparklineGroups
        'For each sparkline group found, add the address to the listbox
        SparklineListBox.AddItem oSparkGroup.Location.Address(, , , True)
    Next oSparkGroup
End Sub

Private Sub SparklineListBox_Click()
    'Activate the selected range that has the sparklines
    Range(SparklineListBox.Value).Activate
End Sub

Private Sub CloseBtn_Click()
    'Close the userform
    Unload Me
End Sub

См. также

Программирование объектов SparklineGroupс помощью спарклайнов в Excel

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.