用索引将FOR转化为FOR

时间:2018-07-23 13:58:35

标签: excel vba

我有以下代码。

您能帮我重写这段代码以使用FOR循环而不是FOR EACH循环,以便我访问循环的索引(例如i)吗?

Set rng = ActiveSheet.ListObjects("Table_Name").Range

For Each cell In rng.SpecialCells(xlCellTypeVisible)
      do_something with cell

我知道这并不难,但是我对VBA的了解并不多。 非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的方法,它使用从1到表范围内的单元格计数的整数循环;

Dim i As Integer
Dim j As Integer
With Sheet1.ListObjects(1).DataBodyRange
    j = .Cells.Count
    For i = 1 To j
        Debug.Print "Processing cell " & i; " of " & j,
        Debug.Print "Address: " & .Cells(i).Address,
        Debug.Print "Value: " & .Cells(i).Value
    Next i
End With