Надеюсь, что кто-то может помочь. У меня проблемы с чем-то, что должно быть действительно простым.
Я пытаюсь обновить диаграмму на основе изменения исходных данных (количество строк может измениться)
это мой код:
lastRow = GetLastRow(ChartSourceSheet)
ActiveChart.SetSourceData Source:=Sheets("ChartSource").Range("A1:C" & lastRow)
по какой-то причине это не работает (функция getlastrow - это просто функция, которая возвращает номер последней строки листа, в данном случае это 5 с моими тестовыми данными)
но если я жестко закодирую код, измените его на:
lastRow = 5
ActiveChart.SetSourceData Source:=Sheets("ChartSource").Range("A1:C" & lastRow)
тогда это работает абсолютно нормально, и это сводит меня с ума, пытаясь понять, почему.
Я пытался объявить lastRow как целое число, но оно не работает.
У кого-нибудь есть идеи, что я могу попробовать?
изменить в ответ на ответы:
не работает означает, что диаграмма просто не обновляется, и когда я смотрю на диапазон данных вручную, он не обновляется (по сравнению с тем, когда я жестко закодировал значение и он обновился нормально). Также я попытался установить для lastRow значение long и это не помогло.
Моя функция работает нормально, так как она возвращает ожидаемое значение (5), но для завершения вот код моей функции:
Function GetLastRow(sheetName As Worksheet)
GetLastRow = 1
On Error Resume Next
GetLastRow = sheetName.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
On Error GoTo 0
End Function