请问大家用VBA对EXECL表格编程,运行起来很慢!

因为用户归档的运行数据无法转换成标准的EXECL表,我把数据输入到EXECL表中,用VBA宏测试了颜色、列宽度及数据格式,请问为什么运行起来这么慢?为什么单独运行修改颜色的脚本,却很快,修改列宽我看到一个一个在刷新,有没有更快的办法?谢谢!
脚本如下:
Sub 颜色自动显示()
Dim i, j, Obj
For i = 4 To 31
For j = 10 To 500 Step 4
Set Obj = Cells(i, j)
If Not IsNull(Cells(i, j).Value) And IsNumeric(Cells(i, j).Value) Then
   Cells(i, j) = Format(Cells(i, j), "0.00")
   If Abs(Cells(i, j).Value) > 1 Then
     If Abs(Cells(i, j).Value - 1) <= 0.2 Then
       Cells(i, j).Interior.Color = RGB(255, 255, 0)
       Else
       Cells(i, j).Interior.Color = RGB(255, 0, 0)
       End If
   Else
       Cells(i, j).Interior.Color = RGB(0, 255, 0)
       End If
Else
       Cells(i, j).Interior.Color = RGB(255, 250, 250)
End If

Cells(i, j - 2).ColumnWidth = 7
With Obj '对象多个属性操作
.ColumnWidth = 5.22
End With

Next
Next
End Sub

最佳答案

用.Range代替.Cells,速度会提高很多。
前者是区域,后者是单元格。
比如操作第4行到第31行的第10列,可以这样表达:
.Range(.Cells(4, 10), .Cells(31, 10))

如果是整个数据区域(从第4行第10列,到第31行第500列),则是:
.Range(.Cells(4, 10), .Cells(31, 500))

提问者对于答案的评价:
确实这样,但是赋值的时候都是一个一个赋值的啊?很慢,这不可能啊?那IT那么大的数据量怎么搞的?谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc315073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐

  • WINCC模拟变量提问

    我有一个问题,有一个模拟量值I=0-50,我要根据值的变化跳出不同的提示文本,比如I=0,启动;I=1,停止;I=2,故障,I=3,停电,启动和停止可以用真与假来做,那我故障和停电…

    SIMATIC WinCC 2019年6月11日
  • flexible 2008 中复选框使用?

    如何实现复选框功能?看了帮助需要下载全局库中有该模块,但是有找不到全局库下载? 最佳答案 复选框可以自己做,按钮交替位输出不就可以实现吗?全局库中有该模块?初次听说哟! 提问者对于…

    SIMATIC WinCC 2021年7月5日
  • wincc运行时报ODBC错误的原因?

    大家好,我有一套wincc4.02的系统,项目运行一直正常。在一次关机,换显示器后,在运行项目的时候,出odbc通讯错误的报警。忽略报警,在用户登录时,输入正确的用户名和密码总显示…

    SIMATIC WinCC 2019年6月11日
  • wincc flexible smart v3 版本问题

    触摸屏的厚始画面,通过∪盘保存,经过其它软件无效打开后,再用另一台电脑wincc flexible smart v3打开,就打不开,显示以前打开的版本…

    SIMATIC WinCC 2021年7月5日
  • WINCC中输入输出域如何绑定变量

    在WINCC中,通过TCP/IP与S7-300相连,已经连接成功。在WINCC界面中,有一个输入输出域,现想将其与TCP/IP下的一个输入变量相连,作为S7-300的一个输入信号,…

    SIMATIC WinCC 2019年6月11日
  • 如何让WINCC自己跳出一个小窗口

    我想比较2个变量,如果不相同就跳出一个小的选择窗口,让人工确认哪个变量是正确的。请问怎么做能做到?用C脚本的“`急啊“ 最佳答案 定义一个内部变com, if&nbs…

    SIMATIC WinCC 2019年6月11日
  • 上传组态画面问题

    现在有两台工控机和400PLC通过以太网通讯,在网络路由器上可以看到400PLC的IP地址,可以把程序上传。另外也可以看到两台工控机的IP地址,是否也可以用WINCC软件上传画面,…

    SIMATIC WinCC 2017年12月8日
  • 关于wincc归档的问题

    我对归档不是很了解,这个归档是把变量的实时数据文件定期的形成一个文件,导出到设定的文件夹。还是只是在wincc alarm control中显示,当达到一定的数…

    SIMATIC WinCC 2019年6月11日
  • Step7-5.5版,WinCC6.2版哪儿有下的?

    我的软件太老旧了,想换成中文版的Step7-5.5版,WinCC6.2版,哪儿有下的,请大侠告知,谢谢! 最佳答案 可以学习使用的话,网上很多提供下载的,如果商业使用建议你想代理商…

    SIMATIC WinCC 2021年7月5日
  • wincc趋势曲线显示问题的请教

    我按照《上_下位机数据高速通讯方法及其在大型锻压机中的应用》这篇期刊论文里的思路做一个高速数据采集系统,前面的各个部分在学习查资料及各位大佬的问答帮助下顺利完成,但到了使用winc…

    2021年7月5日