Вы можете использовать метод .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