Есть два списка, каждый из которых содержит имена автомобильных деталей, а другой - какие части выбраны пользователем.MS VBA, Изменить диапазон данных графика пользователем
Каждая часть имеет название той части, ее дату производства, и емкость линии. Цель состоит в том, что, как только пользователь выбирает, какие части он хочет видеть, как это влияет на пропускную способность линии, когда он нажимает кнопку «Сделать меня диаграммой», отображается гистограмма с только частей, которые он/она выбрана.
Я использовал два цикла For и один. Если инструкция сначала для каждого выбранного имени и для каждой ячейки в диапазоне, где указаны все имена этой части, он будет искать это имя, после того как он найден, он создаст диапазон, который включает название этой части, дату производства и мощность. Наконец, он добавит этот диапазон, используя команду Union в диапазон графика.
Однако, когда код работает, на графике отображаются только текущая емкость и последнее. Название части отображается на графике (две полосы).
Любые идеи относительно того, что я делаю неправильно?
Dim actualrange As Range
Dim totalrange As Range
Dim c As Range
Dim workingrange As Range
Dim findingnameo As Long
Set totalrange = Range("M1:DA1")
Dim p As Long
Dim tryingrange As Range
For p = 0 To SelectedListBox.ListCount - 1
For Each c In totalrange.Cells
If c.Text = SelectedListBox.List(p) Then
findingnameo = Sheets("The Master").Range("M1:DA1").Find(c.Value, searchdirection:=xlNext, SearchOrder:=xlByColumns).Column
Dim thename As Range
Dim thedate As Range
Dim thecap As Range
Set thename = Cells(1, findingnameo)
Set thedate = Cells(2, findingnameo)
Set thecap = Cells(3, findingnameo)
Set workingrange = Union(thename, thedate, thecap)
Dim currentcap As Range
Set currentcap = Range("M1:M3")
Set actualrange = Union(currentcap, workingrange)
End If
Next c
Next p
спасибо !!