VBATips

Boolean型を1行で反転させる(True→False/False→True)【ExcelVBA】

Boolean型の変数を反転させる

Boolean型True/Falseの2つしかありません。
その為、TrueならFalse / FalseならTrueといった使い方も多いです。

通常のコードは以下のような形です。

Private Sub sample()
    Dim flg As Boolean: flg = False

    If flg = True Then
        flg = False
    Else
        flg = True
    End If

End Sub

フラグをコード1行で反転させる

 

Private Sub sample()
    Dim flg As Boolean: flg = False

    flg = Not flg
    'flgがFalseならTrueに変更
    'flgがTrueならFalseに変更
    
End Sub

注意点

  • 今回はNot演算子をうまく使い、コード一行で表示する事がわかりました。
    コードを短く書くという事はシンプルにはなりますが、チーム内のすべての人が理解できるコードで書いてあげる事も効率化の一歩です。
  • 自分ルールでNot演算子をつけて処理してしまうとチーム全体の効率が下がってしまうかもしれません。
    この辺りはルールを決めて行うべきでしょう。
  • マクロはプログラム開発の敷居が低いです。その為、属人化しやすい事がデメリットです。
    上記部分をルールを決める事でチームの誰が見てもすぐわかるコードを書くべきです。

関連記事

コメント

タイトルとURLをコピーしました