2013-02-04 182 views
0

我有一個Excel 2010啓用宏工作簿。該工作簿有幾張紙。第一個工作表有一個導入csv文件的宏分配按鈕。 csv文件加載到名爲「Data」的現有工作表中。導入的csv文件加載到列1中,作爲以下數據的標題。例如,A1被命名爲「時間」,單元格A2向下是時間數據。單元格B1被命名爲「溫度」,單元格B2向下是與每次讀取相關的溫度數據。該工作手冊在名爲「溫度曲線」的工作手冊中有第三個現有工作表。我想通過引用「數據」表中的值自動在此表上繪製溫度與時間的關係圖。 (時間是x軸和Temp是y軸)VBA繪製動態範圍

的問題是,加載到「數據」片導入的CSV文件將具有每次不同的行數。有時導入的csv文件可能有25行數據,其他時間可能有100,000行數據。比方說,我導入一個包含1000行數據的csv,該工作簿還繪製了空白單元格,因爲我的圖表已預先設置爲捕獲整個列。結果,圖表數據被擠壓到左側。如果我將要繪製的行數預先設置爲1000,那麼具有多於1000行的下一個導入的csv文件將不會繪製超過1000行。

我試圖渲染與#NA公式的單元格,以避免出現打印空白單元格,但這個解決方案創建一個巨大的文件。

有一種方法,以形成產生的數據的線圖的宏:

y軸=(B2與一些最後的B細胞) 與 x軸=(A2至最後一個帶有數字的單元格)

因此,每次打開工作簿並導入新的csv文件(不管有多少行)時,圖形都會用數字繪製單元格,而不會繪製空白單元格?

任何援助將不勝感激。先謝謝你!

+0

http://www.techrepublic.com/blog/msoffice/two-ways-to-build-dynamic-charts-in-excel/7836第二個應該爲你工作。 –

回答

0

通過使用動態範圍,可以使一個可擴展和基於在您擁有的數據量合約命名範圍。您將創建兩個命名範圍,一個用於x,另一個用於y,然後繪製範圍。 現在不在PC中,但是這可以通過offset命令完成(動態範圍)。

+0

謝謝MechEng。我使用了由Tim Williams提供的上面列出的鏈接,該技術完美無缺。謝謝你們花時間幫忙! – George