2010-02-04 4 views
0

У меня есть файл CSV с тремя столбцами (A, B, C).Excel VBA Macro: создать диаграмму из CSV?

можно записать макрос, который выбирает Col A + B Col, затем вставляет диаграмму А против B.

Это работает, но сгенерированный код содержит жестко запрограммированный реф к «Лист1», как это:

... 
ActiveChart.SetSourceData Source:=Range(_ 
     "'Sheet1'!$A:$A,'Sheet1'!$B:$B,'Sheet1'!$A:$A,'Sheet1'!$B:$B") 
... 

Так что я изменить это, чтобы соответствовать активный документ так:

... 
ActiveChart.SetSourceData Source:=ActiveSheet.Range("$A:$B") 
... 

Это работает, но мне нужно также вставить таблицу с помощью COL A + COL C, сгенерированный код выглядит Li ке это:

... 
ActiveChart.SetSourceData Source:=ActiveSheet.Range("'Sheet1'!$A:$A,'Sheet1'!$C:$C") 
... 

Как к изменению, подобным образом этот код, чтобы сделать его SheetName-агностик? [Вопрос заключается в том, что, как это сделать я выбираю два столбца, которые не примыкают друг к другу, - я думаю, что удача в первом примере - его особый случай]

ответ

1

Как насчет:

ActiveChart.SetSourceData Source:=ActiveSheet.Range("$A:$A,$C:$C") 
+0

работ Отлично - я, должно быть, допустил ошибку ввода текста - раньше я почему-то получал A + B + C на графике. Благодаря ! – monojohnny