2020.01.10
Excelといえば……?

突然ですが、Excelと言われて、何をイメージされるでしょうか。

在庫管理などのデータベース処理
スパークラインやグラフを使った視覚的情報
関数やピボットテーブルを使用した計算処理

などなど。
表計算ソフトですので、そういうイメージが強いと思います。

今回は、VBAの話をさせていただこうと思います。

VBA……
Visual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ、VBA)は、主にマイクロソフト製のMicrosoft Officeシリーズに搭載されているプログラミング言語である。
~Wikipediaより

Excelだけではなくて、もちろんWordやAccessにも搭載されています。

何ぞや、と思われる方もおられると思いますが、
マクロといえば、少しピンとくるかもしれませんね。(=ではないのですが。)

何ができるか、といわれれば、
VBですので、やろうと思えばかなりのことができます。
ゲームだって作れます。
(それを作成できるか、運用できるか、は置いておきます。)

例えば、

  • 起動したときにそのファイルのバックアップを作成し、終了するときには上書きを確実にする。
  • 複数のアンケートの回答ファイルから、データを抽出してグラフを作る。
  • webページを読み込み、埋め込んだタグごとに抽出し、リストにまとめる。
  • 逆にリストから、タグを埋め込んだwebページを生成する。
  • ファイルの名前を法則に基づいて、変更する。
  • 条件を満たしたファイルを一斉削除する。
  • データベースに接続して、必要なデータのみを抽出する。
  • よく行う工程を、自動化して作業を短縮化する。

みたいなこともできます。

ちなみに、このVBA。
officeが入っていれば、使えます。


Excel上で「alt+F11」のショートカットで、VBE(VisualBasicEditor)を立ち上げることができます。
(初期状態では表示されていませんが、「開発」リボンの「コード」タブの「Visual Basic」でも開けます。)


この、少し武骨なデザインの見慣れないウィンドウが開きます。
これがエディタのVBEです。


試しにどういう表示になるのかやってみましょう。
マクロの記録を押します。


この画面が出るので、そのまま記録を開始して、
シート上でいろいろ操作をして、記録の終了を押してみましょう。

先ほどの、エディタ画面に「module1」というのがあるので、
ダブルクリックすると開きます。


こんな感じです。

ちなみに何をしたかといいますと、

  1. Range(“A1”).Select:
    A1セルを選択した。
  2. ActiveCell.FormulaR1C1 = “12345”:
    12345 を入力した。
  3. Range(“A1”).Select:
    A1セルを選択した。
  4. Selection.Copy:
    選択されたセルをコピーした。
  5. Range(“A2”).Select:
    A2セルを選択した。
  6. ActiveSheet.Paste:
    張り付けた。

いかがでしたでしょうか。
簡単に紹介させていただきましたが、
少しでも興味を持っていただけたなら、幸いです。

ディレクター / K'z

Contact お問い合わせ

ご不明点、ご相談など
お気軽にご連絡ください。

011-522-8315

受付:9:00~18:00 ※土日祝除く