作者Ibrahimovic (伊布)
看板Office
標題[問題] 如何用VBA刪除圖表
時間Fri Jan 4 14:55:46 2019
軟體: Excel
版本: 2016
目標:
設計一個按鈕,按下後,刪除工作表裡的圖表
之後再重新做一個新的圖表
(註) 因為圖表採用的全部資料筆數往後會一直增加,所以舊圖表一定要刪
問題:
因為新增圖表後,圖表編號會一直累加上去,刪除舊的圖表,編號還是會累加
例如新增2張圖表
第一個圖表的名稱在excel裡的內定名稱是「圖表 1」
第二個圖表的名稱在excel裡的內定名稱是「圖表 2」
如果把「圖表 2」刪除後,再新增一個圖表,此新增圖表名稱會是「圖表 3」
所以想知道的是
(1) 用VBA寫,要如何一次刪除工作表裡的全部圖表?
(2) 要如何從VBA內得知,目前工作表裡的所有圖表編號,以利指定圖表刪除?
請問有人知道嗎?
感恩
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.15.100
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1546584948.A.127.html
※ Ibrahimovic:轉錄至看板 Visual_Basic 01/04 14:56
1F:→ soyoso: 迴圈chrtobjects或shapes集合,再delete;要取得名稱的話 01/04 15:01
2F:→ soyoso: 則以name 01/04 15:01
3F:→ soyoso: 如工作表內只有圖表的shape的話也可以selectall,再將選取 01/04 15:05
4F:→ soyoso: delete 01/04 15:05
5F:→ soyoso: 如不只有圖表的shape而要以迴圈shapes集合刪除的話,再判 01/04 15:08
6F:→ soyoso: 斷type是否為msochart 01/04 15:08
其實我有先上google找到一些方法,可是試不太順利
所以剛剛我用較土法煉鋼的方式解決了
製出一個圖表後,就直接找一個儲存格,印出該圖表名稱
之後要刪除圖表時,去讀該儲存格的內容就好了
然後圖表把儲存格給蓋住,以求美觀簡潔
還是感謝您熱心回應,3Q
※ 編輯: Ibrahimovic (111.254.15.100), 01/04/2019 15:16:49