Excel 单元格中心的复选框
Excel checkbox in the center of cell
是否可以将复选框的框移动到单元格的中心?我正在创建复选框。复选框本身在左侧,文本在右侧。我正在删除文本,因此只剩下 "checkbox"。我希望单元格的整个区域为 "clickable"。因此,如果我调整字段大小,可点击区域会变小。有什么方法可以使复选框的大小与单元格大小保持一致,并将复选框移动到 middle/center?就像文本一样,有按钮可以将文本定位在左侧、中间和右侧?
非常简单。您必须获得要使复选框居中的单元格的 Top
和 Left
位置。所以...
Option Explicit
Sub CenterMyCheckbox()
Dim myCheckbox As Shape
Set myCheckbox = ActiveSheet.Shapes("Check Box 1")
Dim cbCell As Range
Set cbCell = ActiveSheet.Range("B3")
'--- this just positions the checkbox even with the top, left of the cell
myCheckbox.left = cbCell.left
myCheckbox.top = cbCell.top
'--- this centers the checkbox vertically
Dim cellHeight As Double
Dim cbHeight As Double
cellHeight = cbCell.Height
cbHeight = myCheckbox.Height
myCheckbox.top = cbCell.top + (cellHeight / 2#) - (cbHeight / 2#)
End Sub
是否可以将复选框的框移动到单元格的中心?我正在创建复选框。复选框本身在左侧,文本在右侧。我正在删除文本,因此只剩下 "checkbox"。我希望单元格的整个区域为 "clickable"。因此,如果我调整字段大小,可点击区域会变小。有什么方法可以使复选框的大小与单元格大小保持一致,并将复选框移动到 middle/center?就像文本一样,有按钮可以将文本定位在左侧、中间和右侧?
非常简单。您必须获得要使复选框居中的单元格的 Top
和 Left
位置。所以...
Option Explicit
Sub CenterMyCheckbox()
Dim myCheckbox As Shape
Set myCheckbox = ActiveSheet.Shapes("Check Box 1")
Dim cbCell As Range
Set cbCell = ActiveSheet.Range("B3")
'--- this just positions the checkbox even with the top, left of the cell
myCheckbox.left = cbCell.left
myCheckbox.top = cbCell.top
'--- this centers the checkbox vertically
Dim cellHeight As Double
Dim cbHeight As Double
cellHeight = cbCell.Height
cbHeight = myCheckbox.Height
myCheckbox.top = cbCell.top + (cellHeight / 2#) - (cbHeight / 2#)
End Sub