VBA,取range范围的真实 行号,列号,和对应的cells()

1 常规方法,把range 定义为  数组 或变量取到的index 是数组的 index

   

Sub test_range1()

Dim arr1()
arr1 = Range("a3:b5")

For i = LBound(arr1) To UBound(arr1)
    For j = LBound(arr1, 2) To UBound(arr1, 2)
         Debug.Print "arr1(" & i & "," & j & ")=" & arr1(i, j) & "  ";
    Next
    Debug.Print
Next
Debug.Print

r1 = Range("a3:b5")
For i = LBound(r1) To UBound(r1)
    For j = LBound(r1, 2) To UBound(r1, 2)
         Debug.Print "cells(" & i & "," & j & ")=" & Cells(i, j) & "  ";
    Next
    Debug.Print
Next
Debug.Print

End Sub

2  直接把 range当数组处理,但是取 每个单元格的  i.row  i.column

  • 取出来的是真实的 cells(i,j) 的 index

sub test_range2()

For Each i In Range("a3:b5")
    Debug.Print "cells(" & i.Row & "," & i.Column & ")=" & i
Next


End Sub

发布了416 篇原创文章 · 获赞 46 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/xuemanqianshan/article/details/104165567