みなさんはExcelを仕事で使用していますか?
Excelの中には「VBA」というものが搭載されています。
この「VBA」が使えればいつものルーティンワークも自動化することができます。
今回は「VBA」の使い方を紹介していきます。

VBAとは
Visual Basic for Applications
(ビジュアルベーシック・フォー・アプリケーションズ)
というプログラミング言語です。
Excel,Word,PowerPointなどOfficeのアプリの機能をカスタマイズできます。
VBAの使用例
以前に仕事で社有車の予約表を作成したのがこんな感じです。

この「予約」、「取り消し」ボタンにマクロというものを登録しています。
マクロ機能(動作の仕方)を書いているのが「VBA」になりますね。

これがコードです。

使用者に自分の名前、使用時刻に開始時刻と終了時刻を入れて「予約」ボタンを押すとこんな感じで動作します。
Sub 予約()
Dim user As String, userow As String
Dim starttime As Integer, endtime As Integer
Dim i As Integer
Set s = Sheet1
With s
Range("C1").Value = Format(Now, "yyyy/mm/dd")
user = Range("C4")
userow = Range("A50").End(xlUp).Offset(1, 0).Row
Range("A50").End(xlUp).Offset(1, 0) = user
If Range("B6").Value = "" Or Range("C6").Value = "" Or Range("B6").Value >= Range("C6").Value Then
MsgBox "入力時間が正しくありません"
End If
starttime = Application.WorksheetFunction.Match(Range("B6"), Range("D8:Z8"), 0)
endtime = Application.WorksheetFunction.Match(Range("C6"), Range("D8:Z8"), 0)
For i = starttime To endtime
i = i + 3
If Not .Cells(userow, i).Interior.ColorIndex = 3 Then
.Cells(userow, i).Interior.ColorIndex = 3
Else
MsgBox "この社有車は" & "は" & "予約済みです"
Exit For
End If
i = i - 3
Next i
End With
End Sub
コードを載せておきますね。
VBAの使い方(開発タブの設定)
既定のExcelではマクロが無効になっていたり、VBAを使用するための「開発タブ」が隠れているのでそれを有効にしていく必要があります。
開発タブを設定しよう

ファイル画面からオプションをクリックします。

「リボンのユーザー設定」から「開発」にレ点をつけて「OK」をクリックします。

そうすると開発タブが表示されますね。
これで開発環境が整いました。
左上の「Visual Basic」を開いてみましょう。

「VBA」では主に「標準モジュール」を使用すると思います。
開き方は上の写真の通りです。
「VBA」で調べると出来上がっているコードがコピーできるので実際に張り付けて動かすなどして理解を深めていきましょう。
まとめ
Excelを使用している方だったら「VBA」を活用している方は多いはずです。
使いこなせるようになれば今の業務が格段に楽になるはずです。
ぜひ活用してみてください。
それではまた。
[…] VBAでお仕事効率化 […]
[…] VBAでお仕事効率化 […]