设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[OFFICE] EXCLE不同单元格格式太多的解决办法

[复制链接]
跳转到指定楼层
楼主
发表于 2016-5-10 10:18:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个工作表常时间的使用,或经多人不同的编辑会使表格中单元格的样式日积月累越来越多,以至在2003以下的版的用户打不开.

那么我们如何来清除过多的单元格样式呢,小编下面就图说解决的方法。
第一步:进入VB(Visual Basic)
可以直接按alt+f11

第二步:打开代码窗口,在代码窗口里输入以下代码保存。

  1. Sub DelStyls()
  2. Dim s As Style
  3. Dim i_s As Long
  4. i_s = ThisWorkbook.Styles.Count
  5. On Error Resume Next
  6. Application.ScreenUpdating = False
  7. For Each s In ThisWorkbook.Styles
  8. If Not s.BuiltIn Then s.Delete
  9. Next
  10. Application.ScreenUpdating = True
  11. MsgBox "共删除" & i_s - ThisWorkbook.Styles.Count & "个单元格格式,还剩" & ThisWorkbook.Styles.Count & "个!", 64, "删除完毕"
  12. End Sub
复制代码



或者用下面的代码(该段代码会提示哪些自定义的样式删除不掉,这些删除不掉的样式很可能是从其他程序比如wps中复制的时候带来的,excel虽然能看到它们的名字,但是实际上在内存里面没有):

  1. Sub X()
  2.     For Each s In ActiveWorkbook.Styles
  3.         'MsgBox s.Name
  4.         On Error Resume Next
  5.         If Len(s.Name) > 0 And s.Name <> "Normal" Then
  6.             s.Delete
  7.         End If
  8.         If Err.Number > 0 Then
  9.             e = "Error occour on deleting Style named " & s.Name
  10.             e = e & vbCrLf & "Err:" & Err.Number & "->" & Err.Description
  11.             MsgBox e
  12.             Err.Clear
  13.         End If
  14.     Next
  15. End Sub
复制代码




第三步:运行代码(点击运行里选择“运行子过程/用户窗体”)。

第四步:看看工作表的使用中建的格式是不是已去除了,只剩下Excel默认自带的格式。


你的工作表如果格式太多了,最好清一清,工作时尽量不要更换太多不一样的格式。使用上述的办法不会对你的工作表内容更改。记得使用过后把代码删了。



有时候就算是用了上面的代码,还是存在好多自定义的样式,并且怎么删都删不掉,如果这样的话,那就只能把整个工作表选中,然后复制到一个新建的工作薄的工作表中,然后再用上面的代码删除一次,应该就可以了。记住复制的时候,千万别在左下角的工作表名称那儿点右键选择移动或是复制的方式复制。否则在原表中有一些找不到的单元格样式同样会被复制到新工作薄中,这样的话,用上面的代码还是删不掉。


另外,如果一开始用上面的代码,超过五分钟还没有运行完毕,那只能说明该工作薄内无用的单元格样式太多了,最好就放弃用vba代码这一步,直接采用复制粘贴到新工作薄的工作表的方式解决问题。



对于上面的方法,为了方便网友,请到
批量删除多工作薄中单元格样式——减小工作薄体积的方法
http://www.xipick.com/forum.php? ... 60667&fromuid=1
这儿下载,现成的解决方法,其中第三个按钮就是本贴内介绍的利用复制工作表所有单元格到新建工作薄的工作表中的方法来达到清除冗余的顽固单元格格式。

回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-4-29 11:53 , Processed in 0.174774 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表