2011年12月26日月曜日

選択されているRangeの行だけを配列で返すメソッド

選択されているRangeの行だけを配列で返すメソッド、
単一の長方形の選択範囲なら、Selection.addressで処理しても十分だと思いますが、
このメッソドは複数バラバラの選択範囲に対応します。まぁ、使う場面ないかもしれない…
Function getRowsFromRanges(ByVal seletedRange As Range) As Variant
  Dim cl As Range
  Dim arrRows As New Scripting.Dictionary
  For Each cl In seletedRange
    If Not arrRows.Exists(cl.row) Then
        arrRows.Add cl.row, ""
    End If
  Next
  getRowsFromRanges = arrRows.Keys
End Function

0 件のコメント:

コメントを投稿