前書き
CurentRegionの使い方
■Excelでデータベースを扱うときは私はカレントレジオンを多用しています。
データベースではデータを操作するとき「繰り返し処理」を使うことが多いです。
その場合For~Nextを使うのですがこの場合は繰り返しの範囲を指定する必要があります。
CurrentResion.Rows.countでその範囲の最終値を指定できます。
下図では任意に設定した小さいデータベースを作りCurrentResionを利用するプログラムを作って説明しました。赤丸説明ボタンをクリックするとSubプロシージャsetumeiのコードを実行します
データベース領域を選択してデータベースの登録番号のデータ行をメッセージボックスに行数分繰り返し表示します。
■上図のコードの続きです
①がForの繰り返し処理の部分です。
この場合maxは6ですがデータベースの一行目は項目行なので ー1しています。
②はコマンドボタンのクリックイベントです。
上図のSubプロシージャ setumei を呼び出しています。
プログラム呼び出し側コード
Private Sub CommandButton1_Click() Call setumei End Sub
メッセージボックスに表示する側
Private Sub setumei() Dim max As Integer Dim kaisigyou As Integer Dim owarigyou As Integer Dim kaisiretu As Integer Dim owariretu As Integer Dim r As Integer With Cells(7, 3).CurrentRegion '領域を選択 .Select '領域の行数=6 max = .Rows.Count '領域の最初の一行目の行番号 kaisigyou = .Rows(1).Row '7 '領域の最後の行の行番号 owarigyou = .Rows(max).Row '12 '領域の最初の一列目の列番号 kaisiretu = .Columns(1).Column '3 '領域の最後の列の列番号 owariretu = .Columns(kaisiretu).Column '5 '------------------------------------- For r = 1 To max - 1 MsgBox Sheet1.Cells(r + kaisigyou, kaisiretu) Next r End With End Sub
コメント