0ならばFalse, 1ならばTrueを返すモジュール。
当面、5ビットまではテストしたが、それ以上は未テスト。引数1を variant にする必要があるかも‥‥
Const MYObjName As String = "modIs_Bits" Public Function is_Bits(argCode As Long, argIchi As Long) As Boolean On Error GoTo Err_is_Bits Dim mbTitle As String Dim andValue As Long mbTitle = MYObjName & "/is_Bits" If ((argIchi < 1) And (argIchi > 32)) Then is_Bits = False: Exit Function End If andValue = 2 ^ (argIchi - 1) is_Bits = (argCode And andValue) > 0 Exit_is_Bits: Exit Function Err_is_Bits: MsgBox Err.Number & "/" & Err.Description, vbCritical, mbTitle Resume Exit_is_Bits End Function