2020年10月24日 星期六

Excel VBA 如何固定ActiveX 按鈕位置

 上周一個被問到的一個可愛的問題,整理一下做分享。

筆者建議可以透過控制.left、.top來控制ActiveX 按鈕位置。但要如何使每一頁工作頁的按鈕位置都固定呢!!!要在"ThisWorkbook"裡做觸發設定。

在VBA編輯視窗下,透過專案管理員,可以找到"ThisWorkbook",點開後程式碼編輯區,點選工作簿(WORKBOOK),在點選SheetChange作為觸發,如圖2所示。

image

圖1.專案管理員裏頭的ThisWorkbook

image

圖2.觸發設定

位置屬性基本概念:

ActiveX 按鈕 .left:按鈕左邊離工作簿左邊的相對距離

ActiveX 按鈕 .top:按鈕上邊離工作簿左上角的相對距離

image

圖3.left、top 位置控制示意

大概了解位置屬性後,可參考如下內容的編輯,即可固定ActiveX 按鈕。

程式碼編輯參考:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    ActiveSheet.CommandButton1.Left = 62
    ActiveSheet.CommandButton1.Top = 415
End Sub

沒有留言:

張貼留言