公式简化编程

2022-11-16 12:41:17 浏览数 (1)

在Excel中,公式是一项非常强大的功能,可以说,你能想到的,公式都可以给你做到。在完美Excel中,我曾分享过很多令人惊叹不已的公式,例如:

这里有令人惊叹的Excel超级公式技术

然而,公式的能力还不止于此。我们在使用VBA进行编程时,在程序代码中嵌入适当的Excel公式,可以达到很好的效果,可以简化程序代码,让程序更有效率。

在使用Evaluate方法展开区间数字中,VBA代码中使用了Excel公式:

Join(Evaluate("transpose(row(" & Var(0) & ":" & Var(1) & "))"), ", ")

例如,对于(2001-2006)来说,上述代码就是:

Join(Evaluate("transpose(row(" & (2001 & ":" & 2006) & "))"), ", ")

其中对应的Excel公式为:

transpose(row(2001:2006))

会生成数组:

{2001,2002,2003,2004,2005,2006}

一句代码全部搞定!

如果你要用通常的循环来实现,则要编写代码:

txt=mid(txt,2,len(txt-2))

For i=Var(0) to Var(1)

years=i & ","

Next i

years=left(years,len(years-1))

代码多一些,但好理解,这点比嵌入公式的代码更好。

参考文章:

使用Evaluate方法筛选数据

使用Evaluate方法筛选数据——基于两个条件

vba

0 人点赞