我有50多個折線圖,每個圖表有12個數據系列。每個系列有2000個數據點。在打開工作簿後,通過設置ActiveSheet.ChartObjects(chart_name).Visible = True
來顯示圖表首先需要2秒鐘。瀏覽所有圖表(一步一步)以進行快速審查,感覺就像是一直持續下去。加速圖表顯示
我正在尋找任何可以使此顯示過程更快的高級技巧或技巧。
我能在主題中找到的是以下鏈接,但我不知道它說了什麼。
搜索「部分解決」找到他們的部分解決方案的具體職位。
我有50多個折線圖,每個圖表有12個數據系列。每個系列有2000個數據點。在打開工作簿後,通過設置ActiveSheet.ChartObjects(chart_name).Visible = True
來顯示圖表首先需要2秒鐘。瀏覽所有圖表(一步一步)以進行快速審查,感覺就像是一直持續下去。加速圖表顯示
我正在尋找任何可以使此顯示過程更快的高級技巧或技巧。
我能在主題中找到的是以下鏈接,但我不知道它說了什麼。
搜索「部分解決」找到他們的部分解決方案的具體職位。
那麼我想出了一個省時的方法。我希望我不是隻寫這張白紙。如果你正在閱讀本文,請給我一些反饋。
據我瞭解,只要excel呈現圖表,它會進入內存,當它被設置爲可見(隱藏後)時,該過程快10倍。在我的情況下,圖表的第一次渲染是2.7秒長,但第二次只需要0.3秒。當你習慣了快速工作流程時,2秒鐘感覺像是地獄。
以某種方式解決方案正在經歷(設置可見)開始時的所有圖表將它們加載到內存中。這比將圖表數量乘以測量的2.7s快得多。 50個圖表加載28s而不是135s。閃爍的圖表可能會令人沮喪,但用簡單的白色形狀作爲臨時封面也是可以解決的。
程序:
ActiveSheet.Shapes("COVER").Visible = True
ActiveSheet.Shapes("COVER").TextFrame.Characters.Text = "Loading charts (0/50)"
For counter = 1 To 50
chart_name = Sheets("Data").Cells(counter , 1)
ActiveSheet.ChartObjects(chart_name).Visible = True
DoEvents
ActiveSheet.ChartObjects(chart_name).Visible = False
ActiveSheet.Shapes("COVER").TextFrame.Characters.Text = "Loading charts (" & counter & "/50)"
Next counter
ActiveSheet.Shapes("COVER").Visible = False
成功,yaay。