'ONOFF型の変数宣言 Dim ブール型 As Boolean
ブール型 = True 'ON
ブール型 = False 'OFF
'ONOFF切替 ブール型 = Not ブール型
ONOFF型の変数は「Boolean型」を使用します
この変数は2通りの値しか代入できません
「True」と「False」の2つのみです
一応、「True」がON、「False」がOFFという感じで考えてください
もちろんこれは処理の作り次第で入れ替えられますが、初期値が「False」なので最初がOFFという方が自然です
この変数を使用するのは、フラグ処理で使うことが多いです
フラグという単語自体はそれほど専門的な単語とは思いませんが、ONになった状態のことをフラグが立ったという表現をします
この変数を最初に使ったのは、ユーザーフォームのイベント無効のためでした
ユーザーフォームにはイベントを無効にするプロパティが存在しないため、自分で無効処理を作る必要がありました
そんな時に、使ったのがこの変数です
ユーザーフォームの特定の処理を実行したら、まずはこの変数をTrueにします
無効にしたいイベントのプロシージャの先頭に、この変数の状態で処理を実行するかを分岐させます
特定の処理が終わったら、変数をFalseに戻します
イベントの処理は変数がFalseであれば実行されるため、任意のタイミングでイベントを無効にすることが出来ます
これを処理中はフラグを立てておく、という表現です
またこのTrueとFalseというのは、文字列ではなくキーワードというVBAのコードの一部として認識されるのでコーディング上もこの変数を使ったほうが分かり易くなります
ブール型 = True 'ON
ブール型 = False 'OFF
例コードで、2つ目と3つ目はそれぞれON・OFFを切り替えています
TrueとFalseを指定せずに切り替え
'ONOFF切替 ブール型 = Not ブール型
さらに4つ目のコードは、簡単にON・OFFを切り替える方法として紹介しています
この右辺についている「Not」はその後に続くものの否定になります
ここでこの変数の最大限の効力を発揮します
TrueのNotはFalse、FalseのNotはTrueとなります
なので、いちいちON・OFFを書き込まなくても、このコードの発生回数で切り替えが制御できることになります
もちろん、もともとの値も変更後の値も可変でコード上からは分からないのでこれだけで良いとはなりませんが、便利な使い方です
さらにこの使い方は、TrueとFalseをプロパティに持つものすべてに対して有効です
チェックボックスのValueもこれで簡単に切り替えたりできますので、他でも使用してみてください