プログラミングの勉強の入り口として一番のお勧めは Excel VBA です。これから Excel VBA を始める人のために、Excel プログラミングの基本と、VBA Editor を使ったデバッグの方法を解説します。
目次
プログラミングがリモートワークにお勧めな理由
出社の必要が無くどこでも好きな場所で働けるリモートワークが盛り上がっていますね。
これは、少子高齢化で働ける人が減っている中、子育てや障害などで家にいる人にも働いてもらいたいという国や企業の思惑と、技術革新やクラウドなどの環境が整ってきたことが理由に挙げられます。
リモートワークの中でも、企業に在籍したまま在宅で働く形態は、労働者の管理が適切にできないことなどから撤退する企業も出ているそうです。
ですが、リモートワーク環境が十分に整えられていることを踏まえれば、個人事業主としてのリモートワーカーは今後増大していくことは間違いありません。
そして、これからリモートワークを始めようとしている人にお勧めなのはプログラミングです。その理由は次のとおりです。
稼げる
データ入力やライティングに比べると、プログラミングは誰にでもできるわけではないので単価が高いです。全体的に人手不足感があるので、今後も上昇傾向でしょう。
パソコンでできるようになった
昔はプログラミングと言えば銀行の ATM とか大企業の計算センターに常駐しなければできませんでしたが、今はパソコンで気楽にできるようになりました。
リモートワークをサポートするツールも沢山ありますので、複数の技術者がそれぞれ別の場所で一つのプロジェクトに関わることができます。日本と海外で技術者を出し合って共同開発することも普通になっています。
スキルアップが個人でも簡単にできる
個人で働いていて困るのはスキルアップです。
会社に所属していれば、勉強会に参加する機会があったり、同僚から新しい情報を教えてもらったりすることもありますが、家で一人で働いていると取り残される可能性があります。
でも最近はスマホで情報収集が簡単にできますし、個人の方が惜しみなく技術情報をブログにして公開してくれているので、個人でも勉強しようと思えばいくらでもできるようになりました。
プログラミングの学習に Excel がお勧めな理由
とは言え、全く経験の無い人が一からプログラミングの勉強を始めるのは大変です。そこで、プログラミングの勉強は Excel で始めることをお勧めします。
詳細は以下の記事に書いてます。
Excel で プログラミングを始める前の準備
最初だけ開発メニューの追加が必要
では、実際に Excel で操作してみたいと思います。
Excel を起動させたとき、メニューに「開発」が無いときは、追加する必要があります。最初に1回設定すれば、今後は起動させるたびに「開発」メニューが表示されるようになります。
開発メニューの追加方法
メニューから「ファイル」をクリックします。
左側のメニューから「オプション」をクリックします。
左のメニューから「リボンのユーザー設定」をクリックし、右側の「リボンのユーザー設定」のドロップダウンを「メインタブ」にすると表示される一覧から「開発」にチェックを入れ、OKをクリックします。
以上で設定は終了です。1度設定をすると、Excel を起動するたびに、リボンに「開発」タブが追加されるようになります。
Excel プログラミングの始め方
追加された「開発」タブをクリックすると、左端に「Visual Basic」ボタンが表示されますので、クリックします。
Visual Basic エディタが起動します。
Visual Basic エディタは、Excel とは別のソフトウエアになりますので、Excel は終了せず、二つのソフトウェアが同時に起動していることになります。
ただし、Visual Basic エディタは、Excel 上で動くソフトウェアなので、Excel を終了させると、Visual Basic エディタも終了します。
Excel の VBA Editor の使い方
Visual Basic を起動すると、次のような画面になります。 大きく分けると4つの枠があります。
オブジェクト
オブジェクトはプログラムの対象物です。ここでは、Sheet1 と This Workbook があります。現在のブック全体と、その中に含まれるワークシートのことです。ワークシートが複数あるときは、ここにも複数の Sheet が表示されます。
プロパティ
プロパティは、オブジェクトが持つ「属性」と訳されることが多いです。例えば、「Name」という欄があり、右側に「Sheet1」と表示されています。ワークシート1には Name というプロパティがあり、値は 「Sheet1」であることを表しています。
Excel プログラミングでは、オブジェクトとプロパティ、その値を次のように書きます。
プログラム
実際にプログラムを書く場所は右上の部分になります。Excel では、プログラムの一つの単位を「プロシージャ」と呼び、複数のプロシージャをまとめた全体のプログラムのことをプロジェクトと呼んでいます。
プロシージャには2種類あります。一つは「Function」で始まる Functionプロシージャ、もう一つは「Sub」で始まる Subプロシージャです。Function プロシージャは計算式のように結果の出せるものです。Sub プロシージャは結果は出さなくても良いものです。
実際に書いてみましょう。
ThisWorkbook.Sheets(1).Name = “テスト”
このプログラムは、Sheets1 の名前を「テスト」に変更するというプログラムになります。結果を出す必要はないので、Sub プロシージャになります。
まず先頭に sub と入力し、半角で1文字分空白を開け、プロシージャの名前を入力します。名前は何でも良いですが、プログラムのコマンドと重ならないようにします。例えば、copy とか、paste などをプロシージャの名前にするとエラーになります。
今回は、test という名前にしました。「sub test」と入れて、キーボードから Enter キーを押すと、sub の先頭が大文字になり、test の後ろに「( )」が付き、最後に「End Sub」が自動で入力されます。「Sub test( )」と「End Sub」の間に、先ほどのプログラムを入力してみましょう。
Excel では、全て小文字で入力し改行すると、入力したプログラムが正しければ、先頭を大文字に変換してくれます。プログラムに誤りがあると赤字になり、ダイアログが出るので、その場合は正しく入力し直します。
1 2 3 4 5 |
Sub test() ThisWorkbook.Sheets(1).Name = "テスト" End Sub |
入力したら、実行を押して、動作確認をしてみましょう。Sheet1 の名前が「テスト」になれば成功です。
デバッグ
プログラムが思い通りに動かないとき、修正箇所を探す作業のことを「デバッグ」といいます。プログラムのミスのことを「バグ」と呼びますが、それを探す作業という意味です。
プログラムの中に、「debug.print」というコードと一緒に、調べたい内容を入力すると、デバッグの窓にその値を表示してくれます。
先ほどのコードで試してみましょう。以下のように入力し実行してみます。
1 2 3 4 5 6 7 |
Sub test() ThisWorkbook.Sheets(1).Name = "テスト" Debug.Print ThisWorkbook.Sheets(1).Name End Sub |
まとめ
今回は、リモートワークにプログラミングが向いていること、プログラミングの学習には Excel がお勧めなこと、Excel プログラミングの始め方について解説しました。
たいていのパソコンにインストールされている Excel には、Visual Basic エディタという優秀なプログラミングツールが標準で付属しているので、使わないのはもったいないですよね。
もっと使ってみたいと思われた方は、こちらの記事もご覧ください。
長野県駒ヶ根市在住。ネットショップ構築とネットショップ運営サポートをしています。このサイトでは、ユーザーさん向けに役立つIT情報や、技術情報のメモを公開しています。詳しいプロフィール