2015-10-22 4 views
0

У меня возникли проблемы с использованием VBA в Excel для создания диаграмм с использованием динамических диапазонов. Что мне нужно сделать, это наметить результаты каждого из соединений для каждого образца. Как количество образцов, так и количество соединений могут варьироваться. Пример таблицы данных можно найти here.Создание диаграмм с использованием динамических диапазонов

Образец кода, который я пытался писать, но мой диапазон не был правильно определен:

Sub Graph() 

Dim r As Range 
Dim c As Range 
Dim wks As Worksheet 

Set wks = ActiveSheet 

' 
' Graph Macro 
' 
Set r = Range("B2").End(xlDown) 
Set c = Range("D2").End(xlToRight) 

ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select 
ActiveChart.SetSourceData Source:=Range("wks!$B$2:B" & r, "wks!$P$2:P" & c) 
' 

End Sub 

Может кто-нибудь мне точку в правильном направлении?

ответ

0

Попробуйте к югу вместо:

Sub Graph() 
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select 
    With [a1].CurrentRegion 
     ActiveChart.SetSourceData Source:=Range(.Resize(, 1).Offset(, 1), .Offset(, 3).Resize(, .Columns.Count - 3)) 
    End With 
End Sub 
+0

Это отлично работает. Очень элегантный способ определения области графика. – Andreas

Смежные вопросы