ONOFF型の変数宣言

真・偽(True・False)のON・OFF切替のような2択にはBoolean型を使用します

'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もこれで簡単に切り替えたりできますので、他でも使用してみてください