在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方法筛选数据——基于两个条件