Как построить график с известным индексом столбца в VBA - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь создать простую пользовательскую форму для построения графиков выбранных столбцов.

То, что я сделал до сих пор, показано в следующем коде:

Public Sub UserForm_Initialize()
    Dim Axis As Variant
    Dim Axis1 As Variant

    Axis = Rows(1).Value

    ' here I'm filling the Comboboxes with all the names in the 1st row
    ComboBox1.Column = Axis
    ComboBox2.Column = Axis
End Sub

Public Sub Plot_Click()
    With Range("A1:ZZ1")
        'Here I'm searching for the column index of the selected value in the first Combobox
        Set rFind1 = .Find(What:=ComboBox1.Value, LookAt:=xlWhole, _
                           MatchCase:=False, SearchFormat:=False)
    End With
    Spalte1 = rFind1.Column

    With Range("A1:ZZ1")
       'Here I'm searching for the column index of the selected value in the second Combobox
        Set rFind2 = .Find(What:=ComboBox2.Value, LookAt:=xlWhole, _ 
                           MatchCase:=False, SearchFormat:=False)
    End With
    Spalte2 = rFind2.Column

    'somewhere here, I would like to plot a graph with the selected 
    'column indexes (Spalte1 and Spalte2) 

End Sub

Private Sub Schliessen_Click()
    'here I'm closing the userform
    Unload Me
End Sub

График должен выглядеть следующим образом:

enter image description here

И в будущем я также добавлю еще несколько комбинированных списков, чтобывыберите больше оси для построения

Я ценю каждый ответ / помощь и предложение

1 Ответ

0 голосов
/ 03 октября 2019
  1. Кстати, при инициализации ComboBox будет добавлено много пустых элементов, которые станут громоздкими при выборе необходимого значения. Я предложу добавить только необходимые столбцы вместо.
  2. Поиск по индексу выбранного столбца снова и снова также не имеет смысла. Вы можете использовать свойство .ListIndex, чтобы получить значение индекса на основе 0. Следовательно, фактический индекс столбца будет ComboBox1.ListIndex + 1 в случае.
  3. Поскольку вам может потребоваться добавить больше ComboBox в будущем, я бы предпочел использовать два ListBox, первый со всеми именами столбцов, а второй получитдобавлены столбцы с требованием для использования в качестве серий с помощью кнопок «Добавить», «Удалить», как показано на следующем снимке экрана: sample image
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...