4
我写一个宏来遍历一些记录,想要一个for循环,以避免无限任何机会,而循环,如:为什么要避免Application.Worksheetfunction?
For i = 0 to COUNT
**do stuff with START_CELL.Offset(i,0)
Next
我不记得如何从VBA做的事情计数所以搜索发送给我这里:Use VBA to Count Non Blank Cells in a Column。一种建议是
n = Worksheets("Sheet1").Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
这似乎过于复杂,所以我做了更多的一些挖掘和决定,我将使用:
COUNT = Application.WorksheetFunction.Count(COUNT_RANGE)
又如使用Application.WorksheetFunction.CountA()
在该网页上,但还是现在我担心(偏执狂)有一个原因,我应该避免它。有没有?
谢谢大家。
没有理由避免使用工作表函数。 – tigeravatar
保留'WorksheetFunction',因为它们非常高效。请记住这两者之间的区别:'Application.Count()'和'WorksheetFunction.Count()' - 如果有任何错误,它们的行为将有所不同。您也可以尝试以这种方式获取最后一行:'lastRow = Worksheets(“Sheet1”)。Cells(Rows.count,“a”)。End(xlUp).Row'但很难确定哪个选项最好看到你的数据表。 –
再次感谢。我现在感觉好多了:)在我的脑海里,VBA与Excel分开的程度足以让通讯变慢(呃)。我喜欢编写超过60秒的宏,所以我试着提前考虑性能。 – ptpaterson