macros来调整文本框的大小,以适应其坐在单元格上

我正在使用Excel 2013,并创build了一些macros,目前正在将它们embedded到文本框中。 我将如何制作一个macros,它将选定的文本框放在中心位置,并调整它们的大小以适合它们所在的单元格。

Sub TextBox2Cell() With ActiveCell ActiveSheet.Shapes.AddTextbox _ msoTextOrientationHorizontal, .Left, _ .Top, .Width, .Height End With End Sub 

我有这个代码来创build新的文本框,但需要与已经创build的文本框做到这一点。

您可以引用每个文本的.TopLeftCell属性而不是ActiveCell ,然后像这样运行子例程来调整每个文本框的尺寸以匹配基础单元格的尺寸:

 Sub ResizeAllTextBoxes() Dim cl As Range Dim tb As textbox For Each tb In ActiveSheet.TextBoxes Set cl = tb.TopLeftCell With cl tb.Height = .Height tb.Width = .Width tb.Left = .Left tb.Top = .Top End With Next End Sub 

如果要将文本框添加到活动单元,则:

 Sub CoverRange() Dim r As Range Dim L As Long, T As Long, W As Long, H As Long Set r = ActiveCell L = r.Left T = r.Top W = r.Width H = r.Height With ActiveSheet.Shapes .AddTextbox(msoTextOrientationHorizontal, L, T, W, H).Select End With End Sub