2012-05-17 2 views
0

Я записал этот макрос. Это для вставки диаграммы. Как я могу создать форму диаграммы и знак ее для переменной для последующей ссылки? Я хочу передать переменную в диапазон. Я просто хочу изменить номер (52). Поэтому, если переменная row, как ее использовать в следующем коде. Я попробовал этотнастройка записанного макроса как динамический код

("'Simpson'!$K$3:$L$row") 

Но это не работает

ActiveSheet.Shapes.AddChart.Select 
ActiveChart.SetSourceData Source:=Range("'Simpson'!$K$3:$L$52") 
ActiveChart.ChartType = xlXYScatterSmooth 
ActiveChart.ChartTitle.Select 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.ChartTitle.Text = "integrated function chart" 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.Axes(xlValue).Select 
ActiveChart.SetElement (msoElementPrimaryValueAxisTitleHorizontal) 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis) 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Text = "x values" 
ActiveSheet.ChartObjects("Chart 5""""").Activate 
'How can I delete the legend in one. combining the next two 
ActiveChart.Legend.Select 
Selection.Delete 

ответ

0

Я попробовал это, и это (" 'Simpson' $ K $ 3: $ L $ строка") не работает

Попробуйте

Dim LRow as Long 

LRow = 52 '<~~ Change this as required. 

ActiveChart.SetSourceData Source:=Range("'Simpson'!$K$3:$L$" & LRow) 
+0

Я думаю, что будет работать, но, как можно назначить тыс e новый график переменной и укажите все изменения, которые мы хотим применить к этой переменной. будет работать: chart = myDocument.Shapes.AddShape Тип: = xlXYScatterSmooth, _ Слева: = 50, Верх: = 50, Ширина: = 100, Высота: = 200' –

+0

Вы имеете в виду создание диаграммы с нуля и обновить эти значения на ходу? –

+0

yep, но я буду использовать тот, который я создал. Я просто обновляю диапазон. Я попробовал ваш метод, и он работает. Спасибо. –

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