Я предполагаю, что приведенный выше код вызывает ошибку «Требуется объект».Я бы рекомендовал разбить оператор (ChartArea.SetSourceData) на несколько этапов, которые дадут вам больше контроля над кодом и гибкостью.
Для ссылки на диапазоны таблицы просто создайте переменную ListObject и переменную Range, остальное объяснено нижес примерами.
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects("BMS_01_01_Module_01")
При этом можно действительно легко ссылаться на любую часть таблицы:
Dim rng As Range
'Reference the whole table, including headers:
Set rng = tbl.Range
'Reference just the table data (no headers):
Set rng = tbl.DataBodyRange
'Reference just the data in a single column:
Set rng = tbl.ListColumns("Cell 1 Voltage").DataBodyRange
'Reference the headers only
Set rng = tbl.HeaderRowRange
Следовательно, ваш код должен выглядеть примерно так:ниже:
chrt.ChartArea.SetSourceData Source:=tbl.ListColumns("Cell 1 Voltage").DataBodyRange