Флажок Excel в центре ячейки - PullRequest
       28

Флажок Excel в центре ячейки

0 голосов
/ 14 сентября 2018

Можно ли переместить флажок в центр ячейки?Я создаю флажок.Сам флажок находится на левой стороне, а текст на правой стороне.Я удаляю текст, поэтому остается только «флажок».Я хочу, чтобы вся область ячейки была "кликабельной".Так что, если я изменю размер поля, кликабельная область будет меньше.Есть ли способ сохранить размер флажка таким же, как размер ячейки, и переместить флажок в середину / центр?Как и для текста, есть кнопка для позиционирования текста слева, по центру и справа?

enter image description here

1 Ответ

0 голосов
/ 14 сентября 2018

Довольно просто.Вы должны получить позиции 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
...