vba integer data type code example

Example 1: vba make a short integer from two bytes

Public Function MakeInteger%(LoByte As Byte, HiByte As Byte)
  If HiByte And &H80 Then
    MakeInteger = ((HiByte * &H100&) Or LoByte) Or &HFFFF0000
  Else
    MakeInteger = (HiByte * &H100) Or LoByte
  End If
End Function

Example 2: excel-vba get integer high byte

LoByte = n And &HFF					'<-- if n is a 2-byte Integer (left byte)
HiByte = (n And &HFF00&) \ &H100	'<-- if n is a 2-byte Integer (right byte)

Example 3: excel-vba long integer value to bits

Function LongToBits$(ByVal n&)
    Dim i&
    LongToBits = "00000000000000000000000000000000"
    If n And &H80000000 Then
        Mid$(LongToBits, 1, 1) = "1"
        n = n And Not &H80000000
    End If
    For i = 32 To 2 Step -1
        If n And 1 Then Mid$(LongToBits, i, 1) = "1"
        n = n \ 2
    Next
End Function

'------------------------------------------------------------------------------

MsgBox LongToBits(0)			'<--displays: 00000000000000000000000000000000
MsgBox LongToBits(293781237)	'<--displays: 00010001100000101011111011110101
MsgBox LongToBits(-1)			'<--displays: 11111111111111111111111111111111

Tags:

Vb Example