繁体   English   中英

使用变体数组加速每个循环。 Excel VBA

[英]Speed up for each loop with variant array. Excel VBA

我有一个工作表,它从工作簿的 rest 中收集了大量数据。 然后我的代码运行一个“for each”循环来删除数据中的任何空格。 问题是我要运行此代码的 60 个实例。 从命名范围 A1 到 A60。 我的问题是我可以使用 arrays 加快这部分代码的速度吗? 如果我得到了这个实例的指针,我可以将它应用到其他实例。 我对 arrays 没有经验,因此我需要帮助。

在此处输入图像描述

我会调查:

A1.Value = Application.Substitute(A1, " ", "")

或者:

A1.Replace what:=" ", Replacement:="", Lookat:=xlPart

请注意,您可以添加更多Range.Replace()参数以避免任何可能的事故,因为此 function 将保存并使用先前使用此 function 尝试的设置。

像这样:

Dim arr, r as long, v
'...
arr = A1.Value                 'get range values as array
for r = 1 to ubound(arr, 1)
    v = arr(r, 1)
    if len(v) > 0 Then arr(r, 1) = replace(v, " ", "")
next r
A1.Value = arr                 'return values to range

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM