电脑技术学习

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

dn001

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

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

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

  这是因为在工作表的最后一列(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 "修改完成","提示 - http://www.officeba.com.cn"

  End Sub