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

VBA,取range范围的真实 行号,列号,和对应的cells()_第1张图片

VBA,取range范围的真实 行号,列号,和对应的cells()_第2张图片

 

 

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

 

VBA,取range范围的真实 行号,列号,和对应的cells()_第3张图片

 

你可能感兴趣的:(VBA,取range范围的真实 行号,列号,和对应的cells())