我在使用 Excel 2010 电子表格时遇到问题,我发现表单控件有时会改变位置和/或大小。即使控件已“锁定”,并且工作表已受密码保护,这种情况仍会发生,因此不应该是用户移动它们。
例子:
此处按钮已移动,其大小也略有改变
这里,组合框已经移动,当我尝试选择控件时,光标会发生变化 - 它被禁用,我无法选择其他项目。还请注意,右侧组合框中的字母“W”是倒置的。组合框设置为“移动但不随单元格大小调整”。
我曾尝试在 Excel 2010 SP0 (RTM)、SP1 和 SP2 以及 Excel 2013 中打开此类文档,它们都显示相同的内容,但我感觉一旦发生这种情况,在哪里打开它就并不重要了。
用户无法告诉我他们做了什么才导致这种情况发生,这只会使故障排除变得更加困难。
请注意,控件是“表单控件”而不是“ActiveX 控件”,因此http://support.microsoft.com/kb/2503335不是解决方案(甚至出于绝望而尝试过它;))
有谁经历过同样的事并有解决方案吗?
提前致谢。
答案1
可能的原因是有人插入了行或列。表单控件的位置不是绑定到单元格,而是绑定到工作表,控件会保留在原处,但工作表本身会发生变化。
应该能够将控件链接到单元格,就像处理图像一样。
答案2
尝试对控件进行分组。分组似乎会强制 Excel 使用原始大小和位置。
答案3
我知道您说过这些是表单控件,而不是 ActiveX 控件,但错误行为和对缩放设置的明显依赖与我在 Excel 2010(仅限)中看到的 ActiveX 控件的问题相同,因此底层问题实际上可能相关。
使用 ActiveX 选项按钮和复选框时,如果您进入分页预览视图或将包含此类控件的(多张)工作表打印到某些品牌/型号的打印机,当任何页面的缩放设置不是 100% 时,该页面上的控件可能会因此移动。我知道的唯一解决方法是先将每页的缩放值设置为 100%,执行分页预览和/或打印操作,然后将缩放恢复到原来的值。
如果这些操作是由 VBA 代码执行的,那么保存/设置/恢复缩放设置就非常简单了,但请注意,缩放实际上是一个窗口属性,因此您必须激活每张工作表才能获取/更改其缩放设置。