|
カテゴリ:マクロ
'---------------------------------------------------------------------------------------------------- '概要=マトリクスの要素一覧を返す関数 '---------------------------------------------------------------------------------------------------- '引数=開始セル/終了セル '---------------------------------------------------------------------------------------------------- '戻値=指定された範囲のセルのアドレス一覧(2次元配列) '---------------------------------------------------------------------------------------------------- '↓↓↓↓呼び出し元サンプル↓↓↓↓ 'Dim start_cell(0, 1) 'Dim end_cell(0, 1) 'start_cell(0, 0) = 開始セルのX軸値 'start_cell(0, 1) = 開始セルのY軸値 'end_cell(0, 0) = 終了セルのX軸値 'end_cell(0, 1) = 終了セルのY軸値 '------------------------------------ Function list_matrix(start_cell As Variant, end_cell As Variant) As Variant '要素一覧を格納する変数の行数を計算 Dim row_number As Long row_number = Abs(end_cell(0, 0) - start_cell(0, 0) + 1) * Abs(end_cell(0, 1) - start_cell(0, 1) + 1) row_number = row_number - 1 'セルの範囲全てを変数に格納 Dim cells_area As Range Set cells_area = ActiveSheet.Range(Cells(start_cell(0, 0), start_cell(0, 1)), Cells(end_cell(0, 0), end_cell(0, 1))) '対象のセル(1セル)を格納する変数を宣言 Dim aimed_cells As Range '要素一覧を格納する(配列)を宣言 ReDim list_matrix_inner(row_number, 1) 'セルの範囲全てを1セルずつ配列に格納 Dim row_row row_row = 0 For Each aimed_cells In cells_area list_matrix_inner(row_row, 0) = aimed_cells.Cells.row list_matrix_inner(row_row, 1) = aimed_cells.Cells.column row_row = row_row + 1 Next aimed_cells list_matrix = list_matrix_inner End Function
お気に入りの記事を「いいね!」で応援しよう
最終更新日
2017.12.31 00:23:13
コメント(0) | コメントを書く
[マクロ] カテゴリの最新記事
|