Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 爱疯

[已解决]单元格赋值提速

[复制链接]
发表于 2010-8-26 10:48 | 显示全部楼层

QUOTE:
以下是引用兰色幻想在2010-8-26 10:39:00的发言:
就是对特殊单元格填充,也是一样先生成地址,然后再批量填充填色

就是把单元格的实际背景色号码填入单元格

回复

使用道具 举报

发表于 2010-8-26 10:52 | 显示全部楼层

QUOTE:
以下是引用吕?布在2010-8-26 10:48:00的发言:

就是把单元格的实际背景色号码填入单元格

这个就不能偷懒了,得用对象操作了,这肯定会很慢

回复

使用道具 举报

 楼主| 发表于 2010-8-26 10:57 | 显示全部楼层

地址在我感觉,好像是超越数组、高手们常用的东西。

可否简介下,地址是指什么?或举个地址方式传递的小例子呀(也许前面就有) 

 

[em09]
回复

使用道具 举报

发表于 2010-8-26 11:16 | 显示全部楼层

QUOTE:
以下是引用爱疯在2010-8-26 10:42:00的发言:

7、尽量用地址方式传递变量的值

请问阿木,20楼这句的“地址方式”是什么意思,有过例子么?

看下面的简单例子,达到同样效果,传地址要比传值快。

Sub MyTest()
    Dim AA
    AA=0
    '传值
    t = Timer
    For i = 1 To 10000000
       Call Test1(AA)
    Next i
    MsgBox AA & vbCrLf & Timer - t
   
    '传地址
    AA = 0
    t = Timer
    For i = 1 To 10000000
        Call Test2(AA)
    Next i
    MsgBox AA & vbCrLf & Timer - t
   
End Sub
Sub Test1(ByVal Rng)
    Rng = Rng + 1
End Sub
Sub Test2(ByRef Rng)
    Rng = Rng + 1
End Sub

回复

使用道具 举报

 楼主| 发表于 2010-8-26 11:40 | 显示全部楼层

谢谢阿木!


Sub MyTest()
    Dim AA, t As Double, i
    AA = 0
    t = Timer
    For i = 1 To 10000000
       i = i + 1
    Next i
    MsgBox AA & vbCrLf & Timer - t
End Sub

如果不是例子中的两种方式,而是我们常见的这种,那这种算作什么方式传递呢?这种不是比地址传递更快?

回复

使用道具 举报

 楼主| 发表于 2010-8-26 11:51 | 显示全部楼层

wdxm52za.rar (6.34 KB, 下载次数: 0)

[已解决]为单元格区域赋值(提速)

[已解决]为单元格区域赋值(提速)
回复

使用道具 举报

发表于 2010-8-26 12:52 | 显示全部楼层

QUOTE:
以下是引用爱疯在2010-8-26 11:40:00的发言:

谢谢阿木!


Sub MyTest()
    Dim AA, t As Double, i
    AA = 0
    t = Timer
    For i = 1 To 10000000
       i = i + 1
    Next i
    MsgBox AA & vbCrLf & Timer - t
End Sub

如果不是例子中的两种方式,而是我们常见的这种,那这种算作什么方式传递呢?这种不是比地址传递更快?

这只是一个举例,说明调用其它过程的情况传值或传地址的情况,一般的简单的变量变化当然越直接越快咯。

另外,VBA里面不像C,它没有提供直接的指针变量可以直接访问地址,所以这个可以不考虑。

回复

使用道具 举报

发表于 2010-8-26 12:54 | 显示全部楼层

敏而好学![em17]
回复

使用道具 举报

发表于 2013-8-22 20:37 | 显示全部楼层
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-6 19:13 , Processed in 0.850990 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表