Board logo

標題: [發問] Excel VBA 取消圖表選取動作 程式碼請教 [打印本頁]

作者: jsleee    時間: 2012-9-21 13:04     標題: Excel VBA 取消圖表選取動作 程式碼請教

請教各位先進,我在使用VBA的時候,經常會於資料分析後,更新圖表標題等資料
但更新完後,希望Excel畫面能夠停留在 該圖表 未被選取的情況,
程式碼使用     ActiveChart.Deselect
但好像沒有反應,程式執行完後,還是停留在被選取的情況
如附件的範例....
不知有無 先進 可以指點一下,謝謝
JS
作者: GBKEE    時間: 2012-9-21 16:30

回復 1# jsleee
你的程式碼
  1. Sub test()
  2.     Sheets("chart1").Select         '指定物件"chart1"
  3.     ActiveChart.ChartTitle.Select
  4.     Selection.Characters.Text = "數量分析"
  5.     ActiveChart.ChartArea.Select    '選取了:全部圖表區域
  6.     ActiveChart.Deselect            '取消對指定圖表的選定。
  7.     ActiveWindow.Zoom = True
  8.     '之後就留在Sheets("chart1") 圖表(工作表)
  9.     '不知你說:  "程式執行完後,還是停留在被選取的情況"
  10.     '是何意思??
  11. End Sub
複製代碼

作者: c_c_lai    時間: 2012-9-21 17:23

回復 2# GBKEE
他的意思是指,當圖表處理完畢後,
即程式執行完後,Cursor 還是停留在 圖表上。
此時如果不小心按了 DEL 鍵,圖表便會不經意被刪除掉了。
作者: GBKEE    時間: 2012-9-21 17:55

本帖最後由 GBKEE 於 2012-9-21 17:57 編輯

回復 3# c_c_lai
1#  程式執行完成後. 畫面會留在Sheets("chart1")圖表(工作表),
ActiveChart.Deselect , 已取消對指定圖表的選定。
並沒有選取圖表上的任何物件,不會有你說的不小心的刪除掉圖表上的任何物件.
所以我說:  不知你說:  "程式執行完後,還是停留在被選取的情況"  是何意思 .
樓主可能要加上  Sheets("data").Select  畫面轉到 "data"工作表
作者: c_c_lai    時間: 2012-9-21 20:24

回復 4# GBKEE
沒錯!
通常繪製統計圖表完成後,我都會順手 Focus 到
其它空白欄位上。
作者: jsleee    時間: 2012-9-22 22:29

回復 4# GBKEE

回覆 GBKEE 版主
我所附的附件,在程式執行完後就是無法透過程式碼 取消選取的動作...
外觀看起來好像沒有選取,但其實是圖表外圍有被選取....
您可以再測試一次看看,程式執行完後,直接按 Delete ,
如果沒被選取,則不會被 Delete,但實際上卻會被刪除....
原本我用 2003版時,沒有這個問題,但 2010版 就出現這樣的問題...
都必須用滑鼠再到 圖表區外 點一下,或是按 Esc 鍵取消,但這個動作 無法錄製巨集來
所以才會提出來請教各位先進....
希望我有說清楚我的問題點....,麻煩指導一下,謝謝

JS
作者: Hsieh    時間: 2012-9-22 23:21

本帖最後由 Hsieh 於 2012-9-22 23:28 編輯

回復 6# jsleee
程序驅動按鈕已經在此圖表中,不需Select
  1. Sub test()
  2.     Sheets("Chart1").ChartTitle.Characters.Text = "數量分析"
  3.     Sheets("Chart1").Deselect
  4.     ActiveWindow.Zoom = True
  5. End Sub
複製代碼

作者: jsleee    時間: 2012-9-23 19:39

回復 7# Hsieh

感謝 Hsieh 超級版主的指點
我的問題已解決,感激不盡....

JS




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)