共用方式為


循環查看儲存格範圍

使用 Visual Basic 時,經常需要對某一範圍內的每個儲存格執行同一段陳述式。 為達到這一目的,可將迴圈陳述式和識別每個儲存格的一個或多個方法組合使用,每迴圈一次只對一個儲存格執行作業。

循環查看儲存格範圍的一種方法是搭配使用 For...Next 迴圈和 Cells 屬性。 您可以使用 Cells 屬性,將迴圈計數器 (或其他變數或運算式) 取代為儲存格編號。 在下列範例中,變數 counter 代替了列索引。 此程序會循環查看範圍 C1:C20,將絕對值小於 0.01 的任何數字設定為 0 (零)。

Sub RoundToZero1() 
 For Counter = 1 To 20 
 Set curCell = Worksheets("Sheet1").Cells(Counter, 3) 
 If Abs(curCell.Value) < 0.01 Then curCell.Value = 0 
 Next Counter 
End Sub

在儲存格範圍中迴圈的另一種簡便方法,是使用 For Each...Next 迴圈陳述式和由 Range 屬性傳回的儲存格集合物件。 在每一次迴圈程序中,Visual Basic 都為下一次迴圈所用的儲存格自動設定一個物件變數。 下列程序在儲存格範圍 A1:D10 中迴圈,將所有絕對值小於 0.01 的數字都設定為 0 (零)。

Sub RoundToZero2() 
 For Each c In Worksheets("Sheet1").Range("A1:D10").Cells 
 If Abs(c.Value) < 0.01 Then c.Value = 0 
 Next 
End Sub

如果不知道要循環查看的範圍邊界,可以使用 CurrentRegion 屬性傳回目前的儲存格周圍的範圍。 例如,下列程序在工作表上執行時,將在現用儲存格周圍的範圍內循環查看,將絕對值小於 0.01 的所有數字都設定為 0 (零)。

Sub RoundToZero3() 
 For Each c In ActiveCell.CurrentRegion.Cells 
 If Abs(c.Value) < 0.01 Then c.Value = 0 
 Next 
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應