日本語VBAで 偶数行のみ 選択しよう

Pocket

日本語VBAで 偶数行のみ 選択しよう
日本語VBAで偶数行のみ選択しよう

 

序文

はい。

今日もひたすら、プログラミングに打ち込んでいるKaBAです。

VBAエクセルを取り扱えて、なかなか便利なプログラム言語ですね。

工夫すれば工夫するほど、VBAは皆さんに応えてくれます。

そこで、今日は、エクセルシートの偶数行のみを選択する、日本語VBAコードを書いてみましょう。

日本語VBAであれば、1行のプログラムで処理が完結します。

それでは、行ってみましょう!

偶数行のみ選択するプログラムの実行結果

まずは、今日プログラムする、偶数行のみ選択するプログラムの実行結果を見てみましょう。

実行結果
実行結果

このように、ある範囲の偶数行を選択していますね。

なお、日本語VBAでは、数は0から始まり、オフセット(相対位置)も0から始まりますので、偶数行は1+0行目、1+2行目、1+4行目と選択されています。

プログラムを組んでみる

では、実際にプログラムを組んでいきましょう。

まずは、プログラムの最小の実行単位である、「サブルーチン」という枠を囲みます。

「サブルーチン」という枠
「サブルーチン」という枠

次に、「g_」とまで入力し、CTRL+スペースで補完候補を表示します。

「g_」とまで入力し、CTRL+スペースで補完候補を表示
「g_」とまで入力し、CTRL+スペースで補完候補を表示

g_道具」という補完候補を選択し、TABキーを押下して補完を確定させます。

次に、「g_道具」の後に、「.(ピリオド)」を入力し、補完候補を表示します。

「g_道具」の後に、「.(ピリオド)」を入力し、補完候補を表示
「g_道具」の後に、「.(ピリオド)」を入力し、補完候補を表示

そして、「セル」という補完候補を選択し、TABキーを押下して補完を確定させます。

「セル」は、標準では、「A1」セルを指しています。

ここでは、偶数行のみ選択するための、外側の選択範囲を指定します。

この外側の選択範囲内の偶数行のみ選択されます。

セルを"A1:G30”のセル範囲を指すよう変更
セルを”A1:G30”のセル範囲を指すよう変更

「セル」の後にに左丸括弧を入力し、その後に、“A1:G30”と入力します。

なお、このセル範囲は皆さんの好きなように変更されてかまいません。

最後に右丸括弧を入力し、「セル」に対するセル範囲の指定を確定します。

次に、「セル」の右側に、「.(ピリオド)」を入力し、補完候補を表示します。

「セル」の右側に、「.(ピリオド)」を入力し、補完候補を表示
「セル」の右側に、「.(ピリオド)」を入力し、補完候補を表示

ここでは「選択」補完候補を選択し、TABキーを押下して、補完を確定します。

この「選択」により、セル範囲”A1:G30”が選択されます。

続けてセル範囲”A1:G30”内の偶数行のみ選択するようにしてみましょう。

「選択」の後に、「.(ピリオド)」を入力し、補完候補を表示します。

「選択」の後に、「.(ピリオド)」を入力し、補完候補を表示
「選択」の後に、「.(ピリオド)」を入力し、補完候補を表示

補完候補の中から、「選択範囲」を選択し、TABキーを押下して、補完を確定します。

次に「選択範囲」の次に左丸括弧を入力します。

すると、「選択範囲」のオプションリストが表示されます。

「選択範囲」のオプションリストを表示
「選択範囲」のオプションリストを表示

このリストの中から、「選択範囲パターン偶数行」を選択します。

そして、右丸括弧を入力し、選択範囲のオプションを確定します。

次に、「選択範囲」の後に、「.(ピリオド)」を入力します。

すると、補完候補が表示されます。

選択範囲の偶数行をエクセル上で選択する
選択範囲の偶数行をエクセル上で選択する

ここでは、「選択」補完候補を選択し、TABキーを押下して、補完を確定します。

これで、選択範囲中の偶数行のみ再び選択されます。

最終のプログラムは以下のようになります。

最終のプログラム
最終のプログラム

テキスト形式では、以下のようなプログラムになります。
必要であれば、以下のコードをコピペされてください。

 
Public Sub 偶数行のみ範囲選択01()

    g_道具.セル("A1:G30").選択.選択範囲(選択範囲パターン偶数行).選択

End Sub

実際に実行

それでは、完成した日本語VBAを実際に実行してみましょう。

まずは、エクセルに戻って、先ほど作成した日本語VBAを実行するために、「開発」タブを開き「マクロ」ボタンをクリックします。

「開発」タブ→「マクロ」ボタンをクリック
「開発」タブ→「マクロ」ボタンをクリック

すると、下図のような、マクロダイアログが開きます。

「偶数行のみ範囲選択01」を選択し、「実行」をクリック
「偶数行のみ範囲選択01」を選択し、「実行」をクリック

マクロダイアログにて、「偶数行のみ範囲選択01」を選択し、「実行」をクリックします。

すると、下図のような実行結果となります。

実行結果
実行結果

きちんと、偶数行のみ選択されていますね。

まとめ

皆さん大変お疲れ様でした。

ここまで読んで頂いて誠にありがとうございました。

本日の学びを以下にまとめます。

  • 偶数行のみ選択するプログラムは、難しそうだが、日本語VBAの組み合わせを使えば、意外と楽にできる
  • VBAでは数字が0から始まり、オフセット(相対位置)も0から始まるため、偶数行は、1+0行目、1+2行目、1+4行目となる。
  • 応用すれば、奇数行や偶数列、奇数列の選択も可能。

1行の日本語VBAでプログラムが完結し、いかがでしたか?

少し拍子抜けされたかもしれませんね。

でも、日本語VBAをうまく組めば、このような意外なこともできたりする場合もあります。

よく研究されてくださいねー!

それではー またー (^_^)/

The following two tabs change content below.
KaBA@フリーランス修行中

KaBA@フリーランス修行中

こんにちは!IT業界で勤めて17年くらい務めています。プログラミング大好きやろーです。 自分も独学でC言語を覚えIT会社に就職しました。その後紆余曲折を経て、VB6.0、VBA、Perl、C#、HTML、CSS、JavaScript、PHPなどを覚えていきました。全部C言語の独学時の経験がベースとなって、学習曲線が良いカーブを描いていました。 情報工学科を出ていなくても、独学でエンジニアは育つことができると思います! このブログで皆さんがプログラミングに興味を持たれるのを心待ちにしています! 頑張って覚えられてください!よろしくお願いします。 趣味は読書で、小宮一慶さんや松下幸之助さんなど著名人の本を読んでいる他、赤川次郎さんの三毛猫ホームズシリーズ司馬遼太郎吉川英治さんの三国志などが好きです。