Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Создание спарклайнов и диаграмм через пользовательскую форму редактора VBA, Ошибка Run-time error '448':
 
Может кто поможет решить проблему? Представленный код VBA предназначен для обработки данных в Excel посредством макросов и выполнения одной из двух операций в зависимости от выбранного пользователем варианта:

Код
'Подключаемся к событию клика по кнопке
Private Sub CommandButton1_Click()
    Call CreateVisuals
End Sub

'Основная процедура построения графиков и спарклайнов
Public Sub CreateVisuals()
    Dim ws As Worksheet
    Dim rngData As Range
    Dim lastRow As Long, lastCol As Long
    Dim dataRange As String
    Dim colLetter As String

    Set ws = ActiveSheet

    'Автоматическое определение границ таблицы
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
    Set rngData = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol))

    'Получаем букву столбца по последнему столбцу
    colLetter = GetColumnLetter(lastCol)

    'Выполняем операцию согласно выбору пользователя
    If OptionButton1.Value = True Then
        'Создание спарклайнов
        Dim i As Long
        For i = 2 To lastRow
            dataRange = "=""" & ws.Name & """!$B$" & i & ":$" & colLetter & "$" & i

            With ws.Cells(i, lastCol + 1)
                .SparklineGroups.Add _
                    Type:=xlSparkLine, _
                    SourceData:=dataRange, _
                    Location:=.Offset(0, 0)

                .SparklineGroups.Item(1).Position = xlSparklinePositionCellCenter
            End With
        Next i

    ElseIf OptionButton2.Value = True Then
        'Создание диаграммы
        Dim chtObj As ChartObject
        Set chtObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=50, Height:=225)
        With chtObj.Chart
            .SetSourceData Source:=rngData
            .chartType = xlColumnClustered
            .HasTitle = True
            .ChartTitle.Text = "Выручка, тыс.руб."
        End With
        MsgBox "Диаграмма создана"
    Else
        MsgBox "Выберите действие"
    End If

    Unload Me
End Sub


При выборе кнопки "Построить спарклайны" выходит такая ошибка Run-time error '448': Макрорекодер указывает на  SourceData, не понимаю почему, все аргументы для метода .Add были соблюдены, также соблюден официальный порядок параметров для этого метода.
Изменено: Sanja - 05.03.2026 08:40:02 (Обратите внимание - код в сообщении выделяется соответствующим тэгом)
Страницы: 1
Наверх