在我的工作表上有activeX文本框,我已经对其进行了大小调整,以使其适合它们所在的单元格。我还设置了对象定位以随单元格移动和调整大小。我的问题是,当我更改单元格的大小时,文本框会按预期调整大小,但是框内的文本会“拉伸”,而不是保持我希望的大小。有没有办法可以实现?
谢谢
答案 0 :(得分:2)
很显然,您遇到了许多ActiveX错误之一。我只建议远离ActiveX,因为众所周知它们会引起奇怪的问题和许多错误。
作为解决方案,我建议要求Microsoft修复该错误,并且/或者在调整列大小之后使用以下变通方法。
有一个解决方法,可以解决看起来奇怪的拉伸错误:
您只需要使用TextBox1.Width = TextBox1.Width
之类的VBA来调整文本框的大小,一切就会再次变得平滑。
要修复所有TextBox,只需遍历所有TextBox并重置其宽度:
Option Explicit
Public Sub FixOddTextBoxesAfterColumnResize()
Dim obj As OLEObject
For Each obj In ActiveSheet.OLEObjects
If obj.progID = "Forms.TextBox.1" Then
obj.Width = obj.Width
End If
Next obj
End Sub