中易网

Excel宏运行如何解决其中一个工作表在运行“文本转换成数值”宏时,速度慢,慢的惊人!请求帮助!

答案:3  悬赏:20  
解决时间 2021-04-08 04:34
Excel宏运行如何解决其中一个工作表在运行“文本转换成数值”宏时,速度慢,要花几十分钟,如果不在我现在工作簿中运行很快,一到我想用的工作簿中就慢的惊人请求帮助! Sub 文本转换数值()
Dim str As String
t = Timer
Sheet7.Select
Range("l5:L1000").NumberFormat = "0.00"
Range("l5").Value = Range("l1000").Value
Dim a As Range
ar = ActiveSheet.UsedRange.Rows.Count
For Each a In Range("l5:p" & ar + 7)
If IsNumeric(a.Value) Then
a.Value = 1 * a.Value
End If
Next
t1 = Timer - t
MsgBox "用时:" & t1 & "秒"
End Sub
这段代码哪里有问题,运行速度哪么慢?独立工作簿或工作表没问题
最佳答案
可能是你的工作簿中有大量的公式运算,你可以试着在代码的前面加上
Application.Calculation = xlManual
让工作簿变为手动重算,在代码的最后再改回去
Application.Calculation = xlAutomatic
全部回答
楼上的是一种情况,如果表格设置为自动重算并且单元格里含有大量的大范围数组计算公式,就可能会很慢,因为对单元格的每次赋值操作,都会引发重算。 也有可能是ar = ActiveSheet.UsedRange.Rows.Count UsedRange可能有问题。如果曾经对单元格做过包含整列的可见格式化(比如边框),那UsedRange就是整个工作表,如果是xlsx格式,就是1076576行。 你可以在调试中看一下UsedRange的值,方法是在立即窗口输入: ?UsedRange.Address 或者在打开立即窗口后,在代码里加入:Debug.Print UsedRange.Address

下面的方法都可以

1、用智能标记的功能,这时,只要全选这些带有绿色标识的单元格,再点击转化为数字即可。 2、用选择性粘贴:一个空的单元格,再选择需要转化的单元格,然后用选择性粘贴----数值/加(减)的方法;在一个空的单元格里输入1,再选择需要转化的单元格,然后用选择性粘贴—数值/乘的方法,也可。 3、用数据分列的方法,选择该列数据,点"数据—分列",第一步选择分隔符号,第二步将所有的分隔符号去除,第三步选择常规,即可。 4、用value函数,假设数据在a列,在b1单元格里输入=value(a1)其余公式下拉 5、假设数据在a列,在b1单元格里输入=a1*1公式下拉

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
当演员要有哪些条件
刚在微信上认识的女孩跟她聊天,问她这么优秀,
怎么设置爱疯软件不要自动更新
深深烙印在我的记忆里英文怎么说
电影下载 ISO 是怎么回事搞不懂
魅族mx6是智能亮屏吗
涟水有没有民生银行
请问西南大学辅导员的工资及福利怎么样?
智能手把开关电动喷雾器怎样安装
蓝湾咖啡鼓楼店在什么地方啊,我要过去处理事
如果我把三方丢了或者其他的之类的就是没有签
手机号不用了,怎么登上微信
男的油性皮肤用什么面膜或者是洗面奶,能改变
请问从深圳西站到福永凤凰工业区商业中心怎么
我只有别人手机号码,怎么利用手机号找到他人
推荐资讯
为什么我把微信好友删了电话也删了,然后再点
闪婚老公太凶猛全本小说在哪里看
2015年农村征地是按人来分钱还是按地来分
ry呀 什么意思
人生感悟与天气预报有哪下载
一个20岁的年轻人,开了张银行卡,突然存进几
速求关于填写初中优干申请表
手机有信号,但不能联网!高分急求!
首尔印象韩国化妆品地址在哪,我要去那里办事
绿源电动车的童锁怎么关闭
电脑突然断网。显示受限是怎么回事?
关于玉翁仙人球
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?