如何在 Excel 中将复选框自动居中?

ms excelmicrosoft technologiescomputers更新于 2024/9/21 3:56:17

如果您曾经尝试在 Excel 中插入多个复选框,您可能遇到过难以按逻辑顺序排列它们的难题。在 Excel 中排列复选框会非常麻烦,因为它们的位置非常随机。但使用 VBA 代码,我们可以轻松地将复选框自动居中。本教程将帮助您了解如何在 Excel 中将复选框自动居中。

在 Excel 中将复选框自动居中

在这里,我们将首先插入一个 VBA 模块,然后运行它来完成我们的任务。让我们通过一个简单的过程来了解如何使用 VBA 应用程序将复选框自动居中。我们的过程将包括活动 X 和表单控件复选框。 ActiveX 和表单控制器均位于开发者选项下。

步骤 1

假设有一个 Excel 工作表,其中包含 ActiveX 和表单控件的多个复选框,如下图所示。

现在右键单击工作表名称并选择"查看代码"以打开 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 单元格中自动居中复选框。


相关文章


有用资源