excel文本框移动和大小与单元格文本问题

时间:2019-01-29 09:50:26

标签: excel vba

在我的工作表上有activeX文本框,我已经对其进行了大小调整,以使其适合它们所在的单元格。我还设置了对象定位以随单元格移动和调整大小。我的问题是,当我更改单元格的大小时,文本框会按预期调整大小,但是框内的文本会“拉伸”,而不是保持我希望的大小。有没有办法可以实现?

谢谢

1 个答案:

答案 0 :(得分:2)

很显然,您遇到了许多ActiveX错误之一。我只建议远离ActiveX,因为众所周知它们会引起奇怪的问题和许多错误。

作为解决方案,我建议要求Microsoft修复该错误,并且/或者在调整列大小之后使用以下变通方法。


有一个解决方法,可以解决看起来奇怪的拉伸错误:

enter image description here

您只需要使用TextBox1.Width = TextBox1.Width之类的VBA来调整文本框的大小,一切就会再次变得平滑。

enter image description here


要修复所有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