VBA多个控件容器

我把一堆控件放到由单个行中的几个合并单元格组成的单元格中。 这很好,直到我重新调整其中一列。 然后几个控件重叠。

有没有办法冻结这个合并的单元格的大小? 还是我使用错误的容器types的控件?

问题不是阻止合并单元格的大小调整,而是调整控件大小。

要防止用Excel单元格resize/移动的控件,右键单击控件,然后单击Format Control 。 在“ Properties选项卡下,select“ Don't move or size with cells 。 现在,当您重新调整单元格或列的大小时,控件将不会重叠。 这适用于ActiveX和表单控件。

如果你想防止合并单元格的大小,那么你可以通过保护表单来实现。

您还可以添加一个将列返回到正确大小的事件。 这里是一个例子,当excel计算时,列A被强制为20.71,我所需的宽度。

Private Sub Worksheet_Calculate()Columns(“A:A”)。ColumnWidth = 20.71 End Sub