この記事では、VBA の CurrentRegionプロパティを使って、特定範囲のデータの登録件数を調べる方法について解説します。今回は下のデータを使うので、コピーしてシートの B2 セルにぺったんこと貼り付けてください。ちなみに下の書籍データはこばとの「タイトルクリエーター」というソフトで作った架空のものなので、Amazon で探しても見つかりませんよ。念のため。
書籍名 | 著者 | 出版社 |
---|---|---|
「頭の中のたまご」 | 棘成央 | ルビー社 |
「狂ったシベリア」 | 新遙平 | 黒石公論社 |
「心の要塞」 | 獺越清大 | ハスキー |
「モナコで春夏秋冬」 | 惠良田喬樹 | 山岡書店 |
「人間の民主化」 | 平子田喜翔 | 旧時代社 |
「カントリーをめぐる旅」 | 裏村高之 | 悲壮社 |
「愉しい温泉宿」 | 袋谷剛充 | 隅川マーケティング |
「猫たちの王国」 | 宗野慎弥 | エメラルド社 |
【VBA】CurrentRegion プロパティ
さて、上のデータを B2 セルに貼りつけると図のように周りを空白セルで囲まれすね。このようなデータ範囲のことを アクティブセル領域 といって、VBA はひとかたまりのモノ、つまり一つのオブジェクトとして認識してくれます。
このアクティブセル領域を参照するには CurrentRegionプロパティを使ってこんなふうに書きますよ。
'[VBA] セルC6を含むアクティブセル領域を選択します Sub ActiveRange_1() Range("C6").CurrentRegion.Select End Sub
ActiveRange_1() を実行してみると、ちゃんとデータ範囲が選択されます。
上のマクロでは Range(“C6”) としているけど、ここは Range(“B2”) でも Range(“D9”) でも、そのセルがデータ範囲に含まれてさえいれば何でもかまいません。好きなセルを書いておいてくださいな。
登録データ件数を表示します
それでは、CurrentRegionプロパティを使って見出しを除いた登録データ件数をセル C12 に表示させてみましょう。こんなふうに書きます。
'[VBA] 見出しを除いたデータ件数を数えます Sub ActiveRange_2() Range("C12").Value = Range("C6").CurrentRegion.Rows.Count - 1 End Sub
アクティブセル領域の行数を得て、見出しの 1 行ぶんだけを引いています。ActiveRange_2() を実行してみると …
こんなふうに登録データ件数が表示されます。大きなデータを扱うときは、このマクロを用意しておくと便利です。あ、そうそう、書籍データの一番最初にある「頭の中のたまご」って、どんな内容なのか気になりませんか? 架空の本だから、そんなこと考えても仕方ないかもしれないけど、もし作家さんに「このタイトルで本を書いてくださいな」て頼んだら、どんなお話になるんでしょうね。皆さんも何か面白い物語を思いついたらコメントで教えてね。とりあえず今回はこのへんで。また次回お会いしましょう。
≫ VBA で罫線を引く方法
コメント