成果
今天非常開心,終於完成了人生中第一個【Excel增益集】!
以下是成果影片,請先欣賞~ 謝謝。
前言
自學 Excel VBA 也將近10多年,這當中也僅僅是在 Module 中寫寫程式碼,因為自己覺得函數也寫得不是很好,沒有到很好用的地步,也就不需要製成一個 專用函數 或是 增益集 來使用。
那為何要特地做成增益集呢?是什麼原因想不開呢?請繼續看下去 ...
問題
一切動力來源,皆源自於「Meiko微課頻道」的『Excel教學 E70 | 十字光標格式設定,避免看錯資料行』的影片內容與下方留言處啟發。
然而,上述之做法雖然簡單快速,卻有以下美中不足的地方 ...
- 多花一個儲存格來當做開關,每次開啟(新)活頁簿需要重新設定。
- 需按 F9。
該增益集 優點如下:
- 不需多花一個儲存格來當做開關,每次開啟(新)活頁簿、所有工作表內皆可使用。
- 非巨集活頁簿,可自動加入程式碼。
- 只要痛一次做設定,日後輕鬆享受無負擔! ( 學成後,可客製專屬於自己的增益集來使用。 )
- 有機會,自此打開你對 Excel VBA 的學習興趣大門。
創意
那麼,如果在 快速存取工具列 上做一個小圖示按鈕來當做開關,且只要任意開啟活頁簿,裡面的每一張工作表都能使用此【開/關】來 啟用或關閉 十字光標的功能,不就太棒了嗎 !
PS:為何想到 快速存取工具列,因為 Meiko 影片內的 快速存取工具列 感覺很酷啊!
啟發製作流程:Meiko『Excel教學 E70』YT 影片 ➔ Google & Youtube 網路資料 ➔ 自己拼裝與修改出 VBA ➔ 成功!
建議
建議用在無巨集的活頁簿,像是僅開啟活頁簿瀏覽,且存檔格式為非巨集的格式(.xls、.xlsx)者較佳。該增益集會自動加入 Application.ScreenUpdating = True 語句。
如果是用在有巨集的活頁簿,則需視情況手動加入下列程式碼,
Application.ScreenUpdating = True
以下為兩種情況 需手動加入上述程式碼:
- 第一種情況:模組內有撰寫 Sub Worksheet_SelectionChange()。
- 第二種情況:ThisWorkbook 內有撰寫 Sub Workbook_SheetSelectionChange()。
如果非以上兩種情況,該增益集也能神奇的自動加入上述程式碼。