我需要简单地浏览Excel电子表格中的所有单元格并检查单元格中的值.单元格可能包含文本,数字或空白.我不太熟悉/舒适地使用'Range'的概念.因此,非常感谢任何样本代码.(我确实试图谷歌它,但我发现的代码片段并不完全符合我的需要)
谢谢.
如果您只需要查看正在使用的单元格,您可以使用:
sub IterateCells() For Each Cell in ActiveSheet.UsedRange.Cells 'do some stuff Next End Sub
这将击中从A1到最后一个包含数据的单元格中的所有内容(最右边的单元格)
Sub CheckValues1() Dim rwIndex As Integer Dim colIndex As Integer For rwIndex = 1 To 10 For colIndex = 1 To 5 If Cells(rwIndex, colIndex).Value <> 0 Then _ Cells(rwIndex, colIndex).Value = 0 Next colIndex Next rwIndex End Sub
在http://www.java2s.com/Code/VBA-Excel-Access-Word/Excel/Checksvaluesinarange10rowsby5columns.htm上找到这个片段.它似乎非常有用,可以说明检查有序单元格中值的方法时尚.
想象一下它是一个二维数组,并应用相同的逻辑循环遍历单元格.
如果您只是查看单元格的值,则可以将值存储在变体类型的数组中.看起来获取数组中元素的值比使用Excel进行交互要快得多,因此与重复获取单个单元格相比,使用所有单元格值的数组可以看到性能的差异.
Dim ValArray as Variant ValArray = Range("A1:IV" & Rows.Count).Value
然后你可以通过检查ValArray(行,列)得到一个单元格值