以下內容轉載自YAHOO知識+ ,由各路高手來分享使用EXCEL的一些技巧呦。 問題: 我寫了一些巨集,以方便執行重複的事,但遇到兩個問題 第一:我不希望自己做的按鈕一直出現在上方功能列 我將一些巨集,用自訂工作列的方式,做了幾個 ICON 放在上方功能區,但我希望它是只針對特定的檔案才發生,而不是不論開啟哪個檔案,那些自訂的按鈕都一直在那兒。 請問要如何做到 第二:有一些巨集,我希望是跟隨 EXCEL 的,不是放在那個原始檔案裡。萬一那個原始產生大家都用到巨集的檔案,被移走,則就開不起來了。 請問要如何做到。 最佳解答: ●●● 問題一 ●●● 在貼上底下的程式碼之前,請自行在專案內建立一個模組(Module ),模組內建力兩個巨集(Micro),巨集名稱為 Micro1 與 Micro2 ,巨集內的程式碼請自己寫。 然後,將底下的程式碼貼到 ThisWorkbook 物件模組內 貼完後『存檔』>>『關閉檔案』 >> 『重新開啟檔案』 Private mnctl As CommandBarButton Private sdctl As CommandBarButton Private Sub Workbook_Activate() On Error Resume Next mnctl.Visible = True sdctl.Visible = True End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next mnctl.Delete sdctl.Delete End Sub Private Sub Workbook_Deactivate() On Error Resume Next mnctl.Visible = False sdctl.Visible = False End Sub Private Sub Workbook_Open() Set mnctl = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlButton) With mnctl .FaceId = 1253 .Caption = "功能表上的按鈕" .OnAction = "Micro1" End With Set sdctl = Application.CommandBars("Standard").Controls.Add(msoControlButton) With sdctl .FaceId = 1254 .Caption = "一般工具列上的按鈕" .OnAction = "Micro2" End With End Sub 開啟這個檔案後會在「功能表」上建立一個按鈕,按下按鈕會執行 Micro1 然後又會在「一般」工具列上建立一個按鈕,按下按鈕會執行 Micro2 檔案在作用中時上面兩個按鈕會顯示,檔案處於非作用中時上述兩個按鈕會隱藏,檔案關閉後上述兩個按鈕會被刪除。 ●●● 問題二 ●●● 將巨集放在 personal.xls (個人巨集活頁簿)內。 2006-04-16 21:05 補充 你的意思是你有一個檔案,這個檔案不可已有巨集 但是你需要巨集來處理這個檔案嗎? 如果是的話,那麼你可以把巨集放在 personal.xls 內。 工具>>巨集>>錄製新巨集 出現「錄製巨集」對話方塊,裡面有個『將巨集儲存在』選個人巨集活頁簿>>確定>>停止錄製 按 Alt + F11 開啟VBE,「專案總管」內會出現 personal.xls 將你的巨集寫在 personal.xls 內。 personal.xls 會隨著你開啟 excel 主程式時一併開啟,它會被儲存在 xlstart 資料夾內。 2006-04-16 21:12 補充 而如果你在『問題一』所建立的「按鈕」就是要處理『不可以有巨集的這個檔案』,又要按鈕隨檔案出現而出現,也隨檔案消失而消失,那麼你需要知道 application 事件的用法,請自己先在VBA說明內的「解答精靈」內尋找一下「使用 Application 物件的事件」,並仔細參考一下,不懂如何使用再發問。 2006-04-16 21:16 補充 最後,.xla 是增益集檔案,通常會寫些增加EXCEL應用的功能,例如分析工具箱、規劃求解、查表精靈....都是增益集檔案,增益集檔案可以是 .xla 或 .xll 檔案類型。 2006-04-16 21:22 補充 最最後.... 最上面回應內容的巨集(Micro)裡的 Micro 是錯的 英文老是不及格,所以把 Macro 都寫成 Micro 了... @__@ 原文出處: https://tw.knowledge.yahoo.com/question/?qid=1206041501270
創作者介紹
創作者 Catherine 的頭像
凱薩琳

Catherine

凱薩琳 發表在 痞客邦 留言(0) 人氣( 14202 )