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