Note: The other languages of the website are Google-translated. Back to English

如何在Excel中的單元格中自動對中復選框?

在Excel的單元格中插入複選框時,您可能會注意到,如左圖所示,很難按順序排列所有復選框。 實際上,您可以將所有復選框移動到單元格中心,以使它們保持整齊有序。 本文中的方法可以為您提供幫助。

使用VBA代碼的單元格中的自動居中復選框


使用VBA代碼的單元格中的自動居中復選框

若要自動將當前工作表中單元格中的所有復選框居中,請執行以下操作。

1.在工作表中,您需要將所有復選框自動居中,然後按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 在裡面 Microsoft Visual Basic for Applications 窗口,請點擊 插入 > 模塊。 然後將VBA代碼複製並粘貼到代碼窗口中。

VBA代碼:將所有復選框自動居中

Sub CenterCheckbox ()
    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

3。 按 F5 鍵。 然後,所有復選框立即移至單元格的中心,如下圖所示。

備註:此VBA代碼可以同時應用於CheckBox(ActiveX控件)和CheckBox(窗體控件)。

小提示: 如果您想將多個複選框批量插入選定的範圍內,可以嘗試使用 批量插入複選框 實用程序pf Excel的Kutools。 或批量插入多個選項按鈕 批量插入選項按鈕 效用。 此外,您可以一次刪除所有復選框 批量刪除複選框 實用程序,如下圖所示。 你可以去 免費下載軟件,不受限制 30.


相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (9)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
您的 VDA 腳本正在部分工作。 因為當我應用它時,複選框旁邊的鏈接單元格被更改並與它下面的單元格鏈接。
網站主持人對此評論進行了最小化
這對我很有用,只是它沒有與下一個單元格中的文本對齊,該單元格底部對齊。 有沒有辦法對齊底部對齊的複選框,以使它們與下一個單元格中的文本對齊? 謝謝!
網站主持人對此評論進行了最小化
VBA 對我根本不起作用。 當我按 F5 時,模塊似乎在運行,但複選框沒有移動。
網站主持人對此評論進行了最小化
經過更多的試驗,我發現 VBA 確實適用於手動插入的複選框,但如果我使用 Kutools 批量插入,它不會。 如何將使用 Kutools 插入的所有復選框居中?
網站主持人對此評論進行了最小化
嗨,quadma,
該代碼也適用於 Kutools 插入的複選框。 您使用的是哪個 Excel 版本?
網站主持人對此評論進行了最小化
我正在使用 Office 360​​。我認為我遇到的問題是,當我使用 Kutools 批量插入時,複選框對象的大小與其插入的列一樣寬(即復選框對象寬度為大於它的高度),可見複選框本身在對象內左對齊。 如果我選擇所有復選框對象,然後調整它們的大小以使高度和長度相等,然後運行 VBA,它會在列中居中復選框。





鑑於復選框是方形的,這似乎是一個不必要的步驟,為什麼 Kultools 不使復選框對象成為方形?
網站主持人對此評論進行了最小化
嗨,quadma,
Kutools 插入的複選框與 複選框(表單控件) 由 Excel 插入。
我真的不明白你說“使復選框對象方形”。 通常,複選框包括框字段和值字段。 如果所選單元格為空白,Kutools 將復選框的值保留為空白。 如果選定的單元格中有值,則將單元格值作為複選框值。
網站主持人對此評論進行了最小化
我上傳了一張圖片來說明我的意思。 希望這會有所幫助。
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
嗨,quadma,我明白你的意思。 我們會考慮並感謝您的耐心等待。
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護