Ok ive written a function for you this only returns the value of the 2's Comlement as a string, the function reads in binary and outputs a string in binary format
Code:
Function TwosComplement(ByVal rngNum As Range) As String
'written by David Coutts
'26/11/2004
Dim outVal As String
Dim i As Integer, lenOrig As Integer
Dim myNum As Long
'Invert the Binary
For i = 1 To Len(rngNum.Value)
outVal = outVal & Abs((CInt(Mid(rngNum.Value, i, 1)) - 1) Mod 2)
Next i
Dim bolDone As Boolean
'convert from binary to integer
For i = Len(outVal) To 1 Step -1
myNum = myNum + CInt(Mid(outVal, i, 1)) * 2 ^ (Len(outVal) - i)
Next i
myNum = myNum + 1
'convert back to binary
For i = Len(outVal) - 1 To 0 Step -1
If myNum - (2 ^ i) >= 0 Then
myNum = myNum - (2 ^ i)
TwosComplement = TwosComplement & "1"
Else
TwosComplement = TwosComplement & "0"
End If
Next i
End Function
Dave