
みなさんは「プログラミング」と聞いて何を思い浮かべますか?
私が思うプログラミングとは、日常生活の“雑多な繰り返し作業”をサッと効率化してくれる魔法のような仕組みです。
例えばこんな作業、誰でも経験があるのではないでしょうか?
- 大量の帳票やエクセルの整形・集計
- ウェブサイトからのデータ収集
- ゴミ当番などのリマインド
これらに共通するのは「毎回同じことを人がやっている」という点です。
この“繰り返し”をプログラミングに任せてしまえば、仕事も生活も一気にラクになります。
今回は、誰もが使うExcelを題材に、VBAを使った業務効率化の一例をご紹介します。
プログラミングで何ができるのかは、こちらの記事にもまとめているのでぜひどうぞ 👉
こちら
Excel や Word、PowerPoint といった Microsoft Office 製品では VBA(Visual Basic for Applications) というプログラミング機能が使えます。
これによって、
- 繰り返し作業の自動化
- Excel と PowerPoint の連携処理
- 大量データの一括処理
などが可能になります。
初めて使う場合は、最初に Excel 側で設定が必要です。
[手順] 開発タブを表示する
- Excel を開く
- 「ファイル」 → 「オプション」
- 「リボンのユーザー設定」
- 右側の一覧から「開発」にチェック

すると、以下のようにリボンに「開発」が追加されます。

これで準備はOK!
ここでは「全社員の月の残業時間が100時間を超えているかチェックする」という雑務を例にします。
もし毎月手作業でやるなら…かなり骨が折れますよね。
今回使うデータはこんな形。
(※表は元データをそのまま使用)
このチェックを VBA で自動化して、〇/✕ を一瞬で判定させるプログラムを作ります。
では実際にコードを書いてみましょう!
■ ① Visual Basic を開く
「開発」→「Visual Basic」をクリックすると、次のような画面が現れます。

■ ② 標準モジュールを追加する
- 「挿入」→「標準モジュール」
- 白いコード画面が表示される
- 「挿入」→「プロシージャ」で名前を付ける(例:check)
ここにコードを書いていきます。
■ 変数の用意
Dim i As Integer
Dim は変数宣言、Integer は整数型です。
今回は行番号に使う変数として i を定義しています。
■ B2〜B11 を順番にチェックする For 文
For i = 2 To 11
' 処理
Next
Excel のセルは Cells(行, 列) で指定します。
B列は「2列目」なので Cells(i, 2) で B2〜B11 を順番に取得できます。
■ 条件判定して〇/✕を出力
If Cells(i, 2) > 100 Then
Cells(i, 3) = "×"
Else
Cells(i, 3) = "〇"
End If
100時間を超えていれば「×」、超えていなければ「〇」を C列に書き込みます。
■ 完成コード
Public Sub check()
Dim i As Integer
For i = 2 To 11
If Cells(i, 2) > 100 Then
Cells(i, 3) = "×"
Else
Cells(i, 3) = "〇"
End If
Next
End Sub
実行は「緑の再生ボタン」または
「実行」→「Sub/ユーザーフォームの実行」から可能です。

しっかり 〇/✕ が自動で表示されました!
ほんの数行のコードで、毎月の雑務が一気に解消できることがわかります。
プログラミングは「人が繰り返しやっている作業」を代わりに行ってくれる、とても心強い味方です。
特に VBA は Excel で完結する手軽さが魅力で、身近な業務にすぐ応用できます。
今回の例を通して、プログラミングの面白さや効果を少しでも感じてもらえたら嬉しいです。
次回は Python を使った自動化についてもご紹介しようと思います。お楽しみに!
こちら株式会社足の筋肉痛が治らないです。ネットサーフィンをしていたところあなたのブログを見つけ、とても素晴らしいと思いメールさせて頂きました。いきなりなのですが、僕たちと一緒に大きなビジネスを始めませんか?世界もびっくり仰天するようなビジネスなのでお金持ちになること間違いなしです。前向きなお返事をお待ちしております。