首页 > 编程语言 > 详细

VBA中Sheets(String)和Sheets(long)的速度

时间:2020-03-17 10:54:35      阅读:73      评论:0      收藏:0      [点我收藏+]

概述

Sheets(String)Sheets(Long)这两种调用方法,都可以从Sheets集合中返回一个工作表。既然这两个功能相同,那么速度就成为了选择的关键。

测试速度的代码

' 先用 Fill 填充内容,然后用 TestSpeet 测试速度。

Sub Fill()

For i = 1 To 100000 Step 1
    Cells(i, 1) = CStr(i)
Next i

End Sub

Sub TestSpeet()

Dim i As Long
Dim a As String

For i = 1 To 100000 Step 1
    ' 下面两句中选一句执行
    a = Sheets(1).Cells(i, 1)        'Sheets(Long)
    a = Sheets("Sheet1").Cells(i, 1) 'Sheets(String)
Next i

End Sub

测试结果

测试结果的时间单位是毫秒。

第几次测试 Sheets(Long) Sheets(String)
1 609.5660 748.9382
2 611.6371 748.7220
3 611.5759 750.5656
4 611.3749 749.9504
5 609.5672 747.9031
6 611.0058 750.5208
7 610.2335 746.6654
8 611.2921 750.4843
9 609.6433 745.1653
10 612.6212 748.4685

结论

使用Sheets(String)Sheets(Long)要慢。

所以应该优先使用Sheets(Long)

VBA中Sheets(String)和Sheets(long)的速度

原文:https://www.cnblogs.com/dreamofjay/p/12509085.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!