热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有没有更好的方法来编写这个VBA代码?

只是想知道是否有任何方法可以加快以下代码的速度?提前致谢SubTest()DimwsAsW

只是想知道是否有任何方法可以加快以下代码的速度?提前致谢

Sub Test()
Dim ws As Worksheet
Range("R28") = Mid(Range("Q7"), 55, 3) / 100
Range("R29") = Mid(Range("Q7"), 58, 3) / 100
Range("R30") = Mid(Range("Q7"), 61, 3) / 100
Range("R31") = Mid(Range("Q7"), 64, 3) / 100
Range("R32") = Mid(Range("Q7"), 67, 3) / 100
Range("R33") = Mid(Range("Q7"), 70, 3) / 100
Range("R34") = Mid(Range("Q7"), 73, 3) / 100
Range("R35") = Mid(Range("Q7"), 76, 3) / 100
Range("R36") = Mid(Range("Q7"), 79, 3) / 100
Range("R37") = Mid(Range("Q7"), 82, 3) / 100
End Sub

回答


或者试试这个

With Range("R28:R37")
.Formula = "=MID($Q$7, 55 + (ROW()-28) * 3, 3) / 100"
.Value = .Value
End With

或者下面让它动态?

With Range("R28:R37")
.Formula = "=MID($Q$7, 55 + (ROW()-" & .Row & ") * 3, 3) / 100"
.Value = .Value
End With





回答


有一个循环:

Dim cell As Range
For Each cell In Range("R28:R37")
Dim i As Long
cell.Value = Mid(Range("Q7").Value, 55 + i * 3, 3) / 100
i = i + 1
Next






推荐阅读
author-avatar
kerrybrooks
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有