Как добавить текстовое поле / форму вокруг каждой ячейки в выделении? - PullRequest
0 голосов
/ 13 декабря 2018

Есть ли код VBA для добавления текстовых полей вокруг каждой ячейки в выделении.текстовые поля должны быть точно размером ячейки (аналогично границам)?

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете использовать метод .AddTextbox.Прокрутите ячейки в выделении и используйте размерные свойства ячейки, чтобы установить размеры вашего текстового поля.

Sub cellsToTextbox()

    Dim cel As Range

    For Each cel In Selection
        cel.Worksheet.Shapes.AddTextbox 1, cel.Left, cel.Top, cel.Width, cel.Height
    Next cel

End Sub

Изменение свойств текстового поля

Если вы хотите изменить любой изсвойства текстового поля, я бы сделал это, пока вы создаете само текстовое поле.Мой предпочтительный метод - заключить весь метод .AddTextbox() в оператор With и изменить там отдельные свойства.

Вот пример изменения свойства VerticalAnchor (я также перенес вашпросьба изменить здесь размер столбца с вашего комментария к этому примеру) :

Sub cellsToTextbox()

    Dim cel As Range

    For Each cel In Selection
        With cel.Worksheet.Shapes.AddTextbox(1, cel.Left, cel.Top, _
                        cel.Resize(ColumnSize:=3).Width, cel.Height)

            .TextFrame2.VerticalAnchor = msoAnchorMiddle

        End With
    Next cel

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...