VBA入門編 ~Vol.1~
今回はVBA入門編としてVBAの概要解説に加え、前々回の記事「エクセルでお絵かきパズル」で設定したVBAを例に、具体的なコードの記述方法を解説をしていきます。
そもそもVBAとは
VBAとは、Visual Basic for Applicationsの略で、オフィスソフト内で使用するプログラミング言語です。作成したプログラムを実行することで、処理や動作を自動化させることができます。
複数の動作を自動化させることで、入力作業のミスやムダを減らし、作業効率を向上させることができます。
VBAの基本構造
VBAは下記のような構造が基本になっています。
文字の説明だと分かりづらいと思いますので、前々回の記事のVBAを例に解説します。
設定・準備
まずは、WPS Spreadsheetsの【開発ツール】タブから【コードの表示】をクリックします。
(※ 開発ツールは、WPS OfficeのGold Edition、Platinum Editionのみに搭載されています。)
クリックすると、Visual Basicウィンドウが起動します。
「お絵かきパズル」はシート毎にパズル問題を作成し、範囲や色設定も問題ごとに変えたいので、シートオブジェクトに記述します。これにより記述されたプロシージャはそのシート内でのみ動作するようになります。
①プロジェクトウィンドウの「Sheet1」をダブルクリックすると、②のプロシージャを記述するウィンドウが起動します。
プロシージャ作成(コード記述)
【実現させる動作】
・表の範囲内でセルをダブルクリックしても「テキストの編集」にならない
・表の範囲内でセルをダブルクリックすると、そのセルのみ灰色で塗りつぶす
・もう一度ダブルクリックするとセルの色を赤色で塗りつぶす
・もう一度ダブルクリックすると塗りつぶしを解除する
これらの処理を上の画像の②にコードで記述していきます。
手順は、
1.変数の宣言
2.イベントの指定
3.処理内容の設定
の順でコードを記述していきます。
<変数の宣言>
まず、変数の打ち間違いを防ぐために、変数の宣言(ユーザーが設定した変数を明示する)を強制します。
モジュールの最前列に「Option Explicit」と入力するか、オプションメニューから「変数の宣言を強制する」の設定を有効にすることで利用することができます。
<イベントの指定>
次に、プロシージャが自動的に実行されるイベント(きっかけとなる操作)とその範囲を指定します。
今回は、
・セルがダブルクリックされた時にVBAに通知する
・ダブルクリックしてもテキスト編集にならない
と指定します。
<処理内容の設定>
最後に、イベントが通知された際に取るべき処理内容を記述します。
今回は、ダブルクリックする毎に色を変えたいので、複数の条件を同時に判定するステートメント(特別な動作に使われる命令)の中の「Select Caseステートメント」を使用します。
ここまで完成したら、Visual Basicウィンドウは右上の×マークで閉じてください。
Spreadsheetsに戻って、設定できているか確認してみてください。
おまけ
今回記述したVBAのコードはこちらになります。
Option Explicit
‘変数の打ち間違いを防ぐ為に、変数の宣言(ユーザーが設定した変数を明示する)を強制します。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
‘ダブルクリックすると動作が行われるよう設定
Cancel = True
‘ダブルクリックしてもテキスト編集にならない
If Target Is Nothing Then Exit Sub
‘対象になるセルがない場合は動作させない
Set Target = Intersect(Target, Range(“G5:W9”))
‘対象範囲はセルG5からW9まで
If Not (Target Is Nothing) Then
Select Case Target.Interior.ColorIndex
Case xlNone
Target.Interior.ColorIndex = 16 ‘ColorIndex = 16は灰色を表します。
Case 16
Target.Interior.ColorIndex = 3 ‘ColorIndex = 3は赤色を表します。
Case 3
Target.Interior.ColorIndex = xlNone ‘ColorIndex =xlNoneは色の解除を表します。
End Select
End If
End Sub
いかがでしたでしょうか?今回は、「ダブルクリックする度にセルの色を変える」設定を解説しました。
VBAを活用すれば、様々な動作を自動化することができます。興味を持った方はこの機会に学んでみてはいかがでしょうか?
次回は、7月19日(水)更新予定です。
WPS Office 体験版はこちらから
WPS Office 法人様向け資料はこちらから