#6 【Excel VBA入門】~行と列の範囲指定をする Row Column~

ExcelVBA
このページは ・プログラミングを全くやったことがない ・プログラミングをやりたいけど何からやればいいか分からない ・仕事の業務を効率化したい といった方向けの記事です。 Excel VBAを書くための準備から、基本的なコーディング、応用レベルの使い方をなるべく噛み砕いて全くの初心者でも少しずつステップアップできる内容になっています。 特に今後プログラミングを覚えていきたいという方にVBAは非常におすすめです。 その理由は ・開発環境を構築する必要がない ・コードが癖はあるけどシンプル ・プログラミングをするためのエディターは専門のものが用意されている ・エクセルという視覚的に表示されるものが多いので、達成感をすぐに味わえる という観点から僕はVBAを非常にお勧めしています。 プログラミングという言語は沢山あって、あっちはこれが得意でこっちはこれが得意でといった感じに比較することは多いかと思いますが、コードが シンプル! かんたん! 分かりやすい! 結果をすぐ得られる! と、いいことずくめなのでプログラミング比較で迷っている方はとりあえずまずは、の感覚でいいのでVBAをやってみてください。 (その代わり遅いんですけどね…) 因みにエクセルにも種類というかバージョンがあり、メジャーなバージョンでは 2003 2007 2010 2013 2016 2019 とありますが、僕はOffice2016を使用していますので、それをベースにお伝えしていきます。
スポンサーリンク

行と列の範囲を指定するとは?

今回は行と列を範囲指定する方法を解説していきます。 行と列の範囲指定は 行は行 列は列 となりますので、いっしょくたにしないでください。 この行や列を選択するというのは、行、列を削除したり1行おきに色を変えたかったりする時に使われることが多く、意外と使われるシーンが多いので覚えておきましょう。

C列を選択する

今回の目標:C列全体を選択する

ここから実践

1.開発タブのvisual Basic Editorをクリックしましょう (Alt + F11のショートカットでも表示させられます) 開発タブが表示されていない方は【Excel VBA超初心者】~開発環境の準備~を参考にしてください 2.メニューバーの挿入タブをクリックしましょう 3.挿入メニュー内の標準モジュールをクリックしましょう 4.エディターの1行目にSub C列を選択()と入力し、入力が完了したらエンターを押しましょう 5.そうしたら3行目にEnd Subと自動で入力されます 6.ここまではダイアログボックスの回でもやったので問題ないですね 7.2行目に Range(“C:C”).Select と入力してください 8.入力が完了したらエンターキーを押してください 9.入力が完了したらツールバーの再生ボタン「」をクリックしてください 再生ボタンはメニューバーの「挿入」の右斜め下にあります。 (見つけられない場合はショートカットキーのF5キーで実行してください 10.C列全体が選択されていれば成功です 11C列を選択するのは以上です!

解説

Excel VBAのSelectとは、指定したセルの位置をアクティブにするということです。 アクティブというのは選択されているセルを編集できる状態ということです。 (厳密には違いますが) 今回はC列全体のセルをアクティブにするよ、とRange(“C:C”)を使って明示的に命令を出しているということになります。 この「C:C」というのはRangeで範囲選択をした時と同様に始点から終点までの位置を決めているということになります。 なので「C:C」を「C:E」とすれば、C列からE列までを選択するということになります。 範囲選択については以下で詳しく解説していますので、まだ使い方が分からないという方はこちらのページを参考にしてください

2行目を選択する

今回の目標:2行目全体を選択する

おまけ

私も今回まで知らなかったのですが、Excel VBAの使用上以下のようなことがありましたので注意してください。 Sub 〇〇 の〇〇の1文字目を数字にするとエラーになるそうです。 これについては詳しく調べていないのですが、 本来このタイトルは Sub 2行目を選択する() にしたかったのですがエラーになってしまったため、急遽 Sub 二行目を選択する() に変更しました。

ここから実践

1.開発タブのvisual Basic Editorをクリックしましょう (Alt + F11のショートカットでも表示させられます) 開発タブが表示されていない方は【Excel VBA超初心者】~開発環境の準備~を参考にしてください 2.メニューバーの挿入タブをクリックしましょう 3.挿入メニュー内の標準モジュールをクリックしましょう 4.エディターの1行目にSub 二行目を選択する()と入力し、入力が完了したらエンターを押しましょう 5.そうしたら3行目にEnd Subと自動で入力されます 6.ここまではダイアログボックスの回でもやったので問題ないですね 7.2行目に Range(“2:2”).Select と入力してください 8.入力が完了したらエンターキーを押してください 9.入力が完了したらツールバーの再生ボタン「」をクリックしてください 再生ボタンはメニューバーの「挿入」の右斜め下にあります。 (見つけられない場合はショートカットキーのF5キーで実行してください 10.2行目全体が選択されていれば成功です 11.2行目を選択するのは以上です!

解説

Excel VBAのSelectとは、指定したセルの位置をアクティブにするということです。 アクティブというのは選択されているセルを編集できる状態ということです。 (厳密には違いますが) 今回は2行目全体のセルをアクティブにするよ、とRange(“2:2”)を使って明示的に命令を出しているということになります。 この「2:2」というのはRangeで範囲選択をした時と同様に始点から終点までの位置を決めているということになります。 なので「2:2」を「2:5」とすれば、2行目から5行目までを選択するということになります。

■今回はここまで■

今回のコード一覧

自分でコードを書いてエラーが発生してしまったら、以下のコードと比較してエラーを解消しましょう。 ※半角スペースが「=」の前後に入っているので注意してください
Sub C列を選択() Range(“C:C”).Select End Sub
Sub 二行目を選択する() Range(“2:2”).Select End Sub

エラーの場所がわからない

どうしてもエラー箇所が分からないという方がいましたら、2つのテキストの差異を視覚的に教えてくれるWinMergeというソフトがあるので、それを使って上記のコードと自身が書いたコードを比較してみることをお勧めします。 WinMerge
WinMerge - You will see the difference…
WinMergeは、オープンソースのWindows用比較・マージツールです。WinMergeは、フォルダとファイル両方が比較でき、理解しやすく扱いやすいテキスト形式で差異をビジュアルに表現します。

まとめ

このページではRange()を使って行か列を選択する方法を解説しました。 この行列を選択する命令は、今後解説するFor Nextと変数を組み合わせた方法で重複した行を削除するといった時に使われるので使い方を覚えておくと後々に非常に便利になります。

コメント