xlvba check if bit is set in byte code example

Example: excel vba set bit in byte

'Extremely fast VBA function to test if a specified bit is set 
'within a Byte.

'Bits are numbered from 0 to 7, so the first (least significant) bit
'is bit 0.

Function ByteBitIsSet(theByte As Byte, bit As Byte) As Boolean
    Static i&, b() As Byte
    If (Not Not b) = 0 Then
        ReDim b(0 To 7)
        For i = 0 To 7
            b(i) = 2 ^ i
        Next
    End If
    If bit < 8 Then ByteBitIsSet = theByte And b(bit)
End Function

'------------------------------------------------------------------
MsgBox ByteBitIsSet(255, 7)      '<--displays: True
MsgBox ByteBitIsSet(230, 0)      '<--displays: False

Tags:

Vb Example