Ярлыки оси X не отображаются на линейном графике - PullRequest
0 голосов
/ 14 июня 2019

Я делаю линейный график с некоторыми данными из нескольких листов. Данные с каждого листа хранятся в коллекции, причем эта коллекция хранится в массиве коллекций. Массив коллекций затем перебирается, чтобы заполнить график данными.

Я почти уверен, что у меня есть правильный синтаксис для изменения метки оси X, но по какой-то причине он отображается в виде чисел. Однако при наведении курсора на точку данных на графике появляется правильная метка. Есть идеи?

Обновление: изменил тип графика на xlLine и получил мои метки. Должно быть странное форматирование с разбросанным линейным графиком.

Private Sub CommandButton2_Click()

Dim currentWorksheet As Worksheet
WS_Count = ActiveWorkbook.Worksheets.Count

Dim rows As Integer
rows = WS_Count - 3
Dim itemsFoundList() As String
Dim itemsSold() As Integer
Dim numItems As String
Dim counter As Integer
Dim chart As chart

Dim masterArray() As Collection
ReDim masterArray(0 To WS_Count - 1)

Dim itemList As Collection

Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets.Add(After:= _
         ActiveWorkbook.Sheets(ThisWorkbook.Sheets.Count))
ws.Name = "Chart"

counter = 1

     For i = 3 To WS_Count - 1 'Loops through all sheets and grabs data from tables'

        Set currentWorksheet = ActiveWorkbook.Worksheets(i)
        Set itemList = New Collection

        numItems = numberOfItems(currentWorksheet, "Drink", "I2", "I18")

        ReDim itemsFoundList(0 To CInt(numItems) - 1)
        ReDim itemsSold(0 To CInt(numItems) - 1)


        itemsFoundList = itemsFound(currentWorksheet, "Drink", "I2", "I18", CInt(numItems), "A")
        itemsSold = itemsSoldFound(currentWorksheet, "Drink", "I2", "I18", CInt(numItems), "E")

        itemList.Add itemsFoundList          'Adds arrays of data to Collection'
        itemList.Add itemsSold
        itemList.Add currentWorksheet.Name

        Set masterArray(counter) = itemList 'Adds collection to array and iterates'

        counter = counter + 1

     Next i

     Set chart = ws.Shapes.AddChart.chart
         With chart
        .ChartType = xlXYScatterLines
     End With

     counter = 1 'Collection iterator'

     For i = 1 To 7
         With chart
        .SeriesCollection.NewSeries
        .SeriesCollection(i).Name = masterArray(counter)(3)
        .SeriesCollection(i).XValues = masterArray(counter)(1)
        .SeriesCollection(i).Values = masterArray(counter)(2)

     End With

     counter = counter + 1
     Next i


End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...