是否有VBA代码可在所选内容的每个单元格周围添加文本框。文本框应该恰好是单元格的大小(类似于边框)吗?
答案 0 :(得分:2)
您可以使用.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
属性的示例(我也将您的请求(此处将列大小从your comment更改为此示例):
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