如何在Excel單元格中自動居中複選框?


如果您曾經嘗試在Excel中插入多個複選框,您可能會遇到難以按邏輯順序排列它們的問題。在Excel中排列複選框將是一個令人煩惱的過程,因為它們的放置非常隨意。但是,使用VBA程式碼,我們可以輕鬆地自動居中複選框。本教程將幫助您瞭解如何在Excel單元格中自動居中複選框。

在Excel單元格中自動居中複選框

在這裡,我們將首先插入一個VBA模組,然後執行它來完成我們的任務。讓我們來看一個簡單的過程,以瞭解如何使用VBA應用程式在Excel單元格中自動居中複選框。我們的過程將包括ActiveX和窗體控制元件複選框。ActiveX和窗體控制元件都位於“開發者”選項下。

步驟1

考慮一個包含多個ActiveX和窗體控制元件複選框的Excel工作表,如下圖所示。

現在,右鍵單擊工作表名稱並選擇“檢視程式碼”以開啟VBA應用程式,然後單擊“插入”,“選擇模組”,並將程式鍵入文字框中,如下圖所示。

程式

Sub CenterCheckbox()
'Updated By nirmal
   Dim xRg As Range
   Dim chkBox As OLEObject
   Dim chkFBox As CheckBox
   On Error Resume Next
   Application.ScreenUpdating = False
   For Each chkBox In ActiveSheet.OLEObjects
      If TypeName(chkBox.Object) = "CheckBox" Then
         Set xRg = chkBox.TopLeftCell
         chkBox.Width = xRg.Width * 2 / 3
         chkBox.Height = xRg.Height
         chkBox.Left = xRg.Left + (xRg.Width - chkBox.Width) / 2
         chkBox.Top = xRg.Top + (xRg.Height - chkBox.Height) / 2
      End If
   Next
   For Each chkFBox In ActiveSheet.CheckBoxes
      Set xRg = chkFBox.TopLeftCell
      chkFBox.Width = xRg.Width * 2 / 3
      chkFBox.Height = xRg.Height
      chkFBox.Left = xRg.Left + (xRg.Width - chkFBox.Width) / 2
      chkFBox.Top = xRg.Top + (xRg.Height - chkFBox.Height) / 2
   Next
   Application.ScreenUpdating = True
End Sub

步驟2

現在將工作表另存為啟用宏的模板,然後單擊F5執行程式碼,工作表中的所有複選框都將居中排列,如下圖所示。

結論

在本教程中,我們使用了一個簡單的示例來演示如何在Excel單元格中自動居中複選框。

更新於:2023年1月3日

2000+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.