解决办法是建议尝试在循环内插入一个DoEvents。这样可以循环半截时处理鼠标键盘事件,不会出现卡死的感觉。
VBA使用的是VB,而VB是一个很落伍的语言。主要落伍在功能弱、语法弱、库弱。比如说,字符串处理,函数是left、right,不支持字符串截取、定位功能。
或许有些内容用这个是无法清除的,如最近遇到一种msoShapeStyleNotAPreset(代表无形状样式),看着是图片,但是就算选中它按Delete键都删不掉,shp.Delete更是直接出错。另外Shapes数量较多,用shp.Delete方法可能直接就卡死机了,比如超过一两千个。所以“Sub 清除()”适用于清除数量少的,按Delete键能删除的对象。1、可以尝试重新安装excel;2、检查电脑系统是否有更新,如果有更新,就更新一下;
3、检查excel是否有更新,如果有更新,就更新一下;
4、如果以上方法无效,可以尝试把excel重置一下,重置步骤如下:
(1)关闭excel;
(2)在开始菜单里找到“运行”,输入“excel /safe”,回车;
(3)在d出的窗口中选择“仅加载安全模板”;
(4)点击“启动”,excel就会重新启动;
(5)重新启动excel后,尝试打开vba,看看是否能正常使用。
5、如果以上都无效,可以把excel卸载重新安装一下,重新安装后尝试打开vba,看看是否能正常使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)