2025年3月29日土曜日

Excelでできるプログラミング!初心者向けVBA入門講座 by裏方徹也

Excelでできるプログラミング!初心者向けVBA入門講座

Excelでできるプログラミング!初心者向けVBA入門講座

実行結果

★はじめに

皆さん、Excelを普段どのように使っていますか?
Excelは、集計や計算を簡単に行える強力なツールですが、実はプログラミングもできるのをご存知ですか?
今回は、Excelに備わっている「VBA(Visual Basic for Applications)」という機能を使って、Excelで自動化する方法をご紹介します!

VBAを使うことで、関数では手に負えない複雑な作業や、毎日同じような処理を自動化して効率化できるんです。
さっそく、Excelでのプログラミングに挑戦してみましょう!

手順1: VBAエディタを開く

まず最初に、Excelで「開発」タブを表示させます。このタブはデフォルトでは表示されていないかもしれませんが、表示方法を簡単に説明しますね。

Excelを開き、「ファイル」タブから「オプション」を選択します。

「リボンのユーザー設定」をクリックし、「開発」にチェックを入れてOKを押します。

これで「開発」タブが表示されるようになります。次に、開発タブをクリックし、「Visual Basic」を選択します。

これで、VBAコードを編集するためのエディタが開きます。この画面がVBAの作業場所となります。

手順2: 新しいコードを追加する

VBAエディタが開いたら、次にシートを選び、コードを入力していきます。
左側の「VBAProject」ウィンドウから、「Sheet1」をクリックします。

新しいコードを追加するために、以下のコードをそのままコピーして、VBAエディタに貼り付けてください。

Sub Macro1() Dim CTR As Integer Dim Tanto As Variant Dim TantoIndex As Integer ' 担当者リスト Tanto = Array("でべそ", "清盛", "裏方") TantoIndex = 0 Do Until Range("A2").Offset(CTR, 0).Value = "" If Range("B2").Offset(CTR, 0).Value = "土" Or Range("B2").Offset(CTR, 0).Value = "日" Then Else Range("C2").Offset(CTR, 0).Value = Tanto(TantoIndex Mod 3) TantoIndex = TantoIndex + 1 End If CTR = CTR + 1 Loop End Sub

このコードでは、1ヶ月分の戸川商店のシフトを月曜日から金曜日まで、
「でべそ」「清盛」「裏方」の順番で自動的に割り当てる仕組みを作成しています。
関数を使うよりも、こうしたプログラムの方が簡単に自動化できることがわかりますね!

手順3: コードを実行する

コードを入力したら、実際に実行してみましょう。

エディタ上部の「実行」ボタンをクリックするか、F5キーを押します。

すると、Excelのシートに自動的にシフトが割り当てられます。

実行結果

結果として、シート上に月曜日から金曜日の各日に、「でべそ」「清盛」「裏方」が順番に割り当てられます。
こうすることで、手作業でシフトを入力する手間が省け、時間を大幅に節約できます。

★まとめ

Excelはただの集計ツールではありません。VBAを使えば、複雑な処理や毎日の作業を自動化することができます。
今回ご紹介したシフト割り当ての例のように、VBAを活用することで、手間がかかる作業を簡単にこなすことができるんです。

VBAをマスターすることで、Excelをさらに活用し、業務の効率化が図れるようになります。
ぜひ、今回の手順を参考にして、Excelでのプログラミングに挑戦してみてください!

0 件のコメント:

コメントを投稿