欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

Excel2007“不能将对象移到工作表外”的解决办法

程序员文章站 2022-03-04 19:22:22
  在 Excel2007 (或各个版本的的Excel)使用过程中,当我们执行插入列、隐藏列等类似操作,有时会遇到“不能将对象移到工作表外”的提示,这是怎...
  在 Excel2007 (或各个版本的的Excel)使用过程中,当我们执行插入列、隐藏列等类似操作,有时会遇到“不能将对象移到工作表外”的提示,这是怎么一回事呢?该如何解决?

    通常来讲,有两种情况会导致“不能将对象移到工作表外”提示的出现:

Excel2007“不能将对象移到工作表外”的解决办法

    一、在插入行或列的时候出现“不能将对象移到工作表外”的提示。

    这是因为在工作表的最后一列( Excel2003 以下版为第IV(256)列,Excel2007为第XFD(16384)列,下同),或最后一行(Excel2003以下版为65536行,Excel2007为1048576行)有数据,或插入的数据使原有的数据超出工作表行或列的限制时,就会出现“不能将对象移到工作表外”的提示了。

    解决的方法就是删除不需要的行或列,或改变数据的 排列 格式。

    二、在隐藏行或列时出现“不能将对象移到工作表外”的提示。

    会出现这种提示基本都是以对象有关,比如有 批注 或者插入图形或 文本框 等,在隐藏行或列时,使对象的右侧或底部超出工作表的范围,这时就会出现“不能将对象移到工作表外”的提示。

    解决方法1:将 对象 的位置属性更改为“位置随 单元格 而变”,大小可以设定为固定或也随单元格改变。
1. 如果对象是一个单元格批注,请选择包含该批注的单元格。右键单击该单元格,然后单击“显示批注”或“显示/隐藏批注”。这样即可看到批注。 
2. 将光标移至对象的边缘,直到光标变为带有四个黑色小箭头的白色箭头光标。单击以选中该对象。 
3. 在 Microsoft office Excel 2003 及早期版本的 Excel 中,单击“格式”菜单上的“<对象名称>”。在此菜单命令中,<对象名称> 就是该对象的名称,例如“批注”或“自选图形”。

    在 Microsoft office Excel 2007 中,单击“开始”选项卡上“单元格”组中的“格式”。然后单击“设置 <对象名称> 格式”。 
4. 在“格式”对话框中,单击“属性”选项卡。 
5. 单击“位置随单元格而变”,然后单击“确定”。 
6. 如果想再次隐藏单元格批注,请右键单击该单元格,然后单击“隐藏批注”。 

    解决方法2:就是用 VBA 来批量完成上面的操作,下面这段 宏 是将当前活动工作表的所有对象的位置属性更改为“位置随单元格而变”。

Sub Excelba()
Dim s As Shape
On Error Resume Next
For Each s In ActiveSheet.Shapes
s.Placement = xlMove
Next
MsgBox "修改完成","
End Sub