2015-04-17 2 views
-1

так я пытаюсь написать несколько VBA, которые могут посмотреть на «Лист2» ​​и определить, сколько строк и столбцов для этого нужно сделать в своей линейной диаграммединамических строк и столбцов в VBA Chart

я с трудом объявляя диапазон .SetSourceData в терминах переменной, мне нужно, чтобы она начиналась в ячейке (1,4) и переходила к ячейке (LastRow, LastColumn). когда я пытаюсь я получаю ошибку

'метод 2 Dim LastRow As Long Dim LastColumn As Long Dim rng2 Как Range Dim ShName As String С ActiveSheet

LastRow = ThisWorkbook.Sheets("Sheet2").Range("G" & .Rows.Count).End(xlUp).Row 
LastColumn = ThisWorkbook.Sheets("Sheet2").Cells(1, Columns.Count).End(xlToLeft).Column 
Set rng2 = ThisWorkbook.Sheets("Sheet2").Range(.Sheets("Sheet2").Cells(2, 4), .Sheets("Sheet2").Cells(LastRow, LastColumn)) 

' ThisWorkbook.Sheets (» Лист2 ") Range (." R2") Значение = rng2

ShName = .Name 
End With 

Charts.Add 

With ActiveChart 
    .ChartType = xlLine 
    .SetSourceData Source:=rng2 
End With 

ответ

0

Я пытаюсь использовать ваш код и получаю ошибку в строке:.

Set rng2 = ThisWorkbook.Sheets("Sheet2").Range(.Sheets("Sheet2").Cells(2, 4), .Sheets("Sheet2").Cells(LastRow, LastColumn)) 

попробуйте добавить ThisWorkbook до того .Sheets:

Set rng2 = ThisWorkbook.Sheets("Sheet2").Range(ThisWorkbook.Sheets("Sheet2").Cells(2, 4), ThisWorkbook.Sheets("Sheet2").Cells(LastRow, LastColumn)) 

или удалить точку перед Sheets:

Set rng2 = ThisWorkbook.Sheets("Sheet2").Range(Sheets("Sheet2").Cells(2, 4), Sheets("Sheet2").Cells(LastRow, LastColumn)) 
Смежные вопросы