(excel vba) параметр недействителен (1004) ошибка после фильтра - динамическая диаграмма

У меня проблема с моей динамической диаграммой. Каждый раз, когда я фильтрую некоторую информацию из моей таблицы, используя слайсер или вручную, excel отправляет мне сообщение об ошибке.

Параметр недействителен (1004) Ошибка в строке: ChtObj.Chart.SeriesCollection (1) .Values ​​= _Range (Ячейки (UserRow, 12), Ячейки (UserRow, 21))

Sub UpdateChart()

Dim wb As Workbook
Dim ws As Worksheet
Dim ChtObj As ChartObject
Dim UserRow As Long

Set wb = ThisWorkbook
Set ws = wb.Sheets("Dashboard")
Set ChtObj = ws.ChartObjects("Chart 6")

UserRow = ActiveCell.Row
If UserRow < 27 Or IsEmpty(Cells(UserRow, 7)) Then
    ChtObj.Visible = False
Else
    ChtObj.Chart.SeriesCollection(1).Values = _
       Range(Cells(UserRow, 12), Cells(UserRow, 21))
    ChtObj.Chart.ChartTitle.Text = Cells(UserRow, 7).Text
    ChtObj.Visible = True
End If
End Sub

Я вызываю эту функцию в своем листе панели инструментов

Private Sub CheckBox1_Click()
    If CheckBox1 Then
        Call UpdateChart
        ActiveCell.Select
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    If CheckBox1 Then Call UpdateChart
End Sub

Не могли бы вы мне помочь, пожалуйста?

Вы сообщите нам, на какой строке вы получаете сообщение об ошибке? или мы должны угадать?

Shai Rado 11.04.2018 14:33

Извини за это. Диапазон (Ячейки (UserRow, 12), Ячейки (UserRow, 21))

Pedro Almeida 11.04.2018 15:13
3
2
1 141
1

Ответы 1

Замените свою строку:

ChtObj.Chart.SeriesCollection(1).Values = _
       Range(Cells(UserRow, 12), Cells(UserRow, 21))

С участием:

ChtObj.Chart.SeriesCollection(1).Values = _
       "=" & ws.Range(ws.Cells(UserRow, 12), ws.Cells(UserRow, 21)).Address(0, 0, xlA1, xlExternal)

Другие вопросы по теме