救命,Excel隐藏列的时候老是弹不能将对象移到工作表外是几个意思??真的会谢!
查了一下发现是因为有些列里有隐形刺客——比如单元格批注、图片、图表这些玩意儿。虽然你看不见,但它就在那儿蹲着,一当你想把它的安全区全藏了(就是它左边、自己那列、右边的列一起隐藏),Excel就炸毛报错。
尤其是批注最坑,默认是隐藏的,根本不知道它藏哪儿了!比如你在IR1加了个批注,然后手贱选中IQ到IS整片区域想一并隐藏……boom!错误警告直接糊脸上。
而且不一定非得包左右才出事,有时候你光想着把带对象的列和它右边全藏了,也可能翻车,看命。
解决办法有两个:
方法一:手动改对象属性
1. 先找到那个作妖的批注——右键对应单元格,点显示批注让它现出原形。
2. 把鼠标挪到批注边框上,等光标变四向箭头,点一下选中它。
3. Excel 2003及以前:点菜单栏格式→批注(或对应名字);2007版:点开始→格式→设置XXX格式。
4. 弹窗里切到属性选项卡,勾选大小、位置随单元格而变,确定。
5. 搞定后可以再右键单元格→隐藏批注收起来。
每个惹事的对象都这么来一遍,之后藏列就不再报错啦~
方法二:一键批量处理(用宏)
如果你嫌麻烦,可以直接跑个VBA宏,全sheet的对象一次性全改掉:
vba
Sub Test()
Dim s As Shape
On Error Resume Next
For Each s In ActiveSheet.Shapes
s.Placement = xlMoveAndSize
Next
End Sub
复制粘贴进VBA编辑器运行就行。但注意!这操作会让所有对象跟着单元格缩放走,万一以后调行高列宽可能会乱飘,自己掂量着来啊。
总之记住一句话:藏列前先检查有没有隐身怪,不然真会疯。
查了一下发现是因为有些列里有隐形刺客——比如单元格批注、图片、图表这些玩意儿。虽然你看不见,但它就在那儿蹲着,一当你想把它的安全区全藏了(就是它左边、自己那列、右边的列一起隐藏),Excel就炸毛报错。
尤其是批注最坑,默认是隐藏的,根本不知道它藏哪儿了!比如你在IR1加了个批注,然后手贱选中IQ到IS整片区域想一并隐藏……boom!错误警告直接糊脸上。
而且不一定非得包左右才出事,有时候你光想着把带对象的列和它右边全藏了,也可能翻车,看命。
解决办法有两个:
方法一:手动改对象属性
1. 先找到那个作妖的批注——右键对应单元格,点显示批注让它现出原形。
2. 把鼠标挪到批注边框上,等光标变四向箭头,点一下选中它。
3. Excel 2003及以前:点菜单栏格式→批注(或对应名字);2007版:点开始→格式→设置XXX格式。
4. 弹窗里切到属性选项卡,勾选大小、位置随单元格而变,确定。
5. 搞定后可以再右键单元格→隐藏批注收起来。
每个惹事的对象都这么来一遍,之后藏列就不再报错啦~
方法二:一键批量处理(用宏)
如果你嫌麻烦,可以直接跑个VBA宏,全sheet的对象一次性全改掉:
vba
Sub Test()
Dim s As Shape
On Error Resume Next
For Each s In ActiveSheet.Shapes
s.Placement = xlMoveAndSize
Next
End Sub
复制粘贴进VBA编辑器运行就行。但注意!这操作会让所有对象跟着单元格缩放走,万一以后调行高列宽可能会乱飘,自己掂量着来啊。
总之记住一句话:藏列前先检查有没有隐身怪,不然真会疯。
