Il VB e' poco adatto a questo tipo di compiti.
Pero', con qualche "salto mortale", si puo' scrivere del codice equivalente a quello che hai scritto, ovvero
codice:
Private Declare Sub CopyMemory _
Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, _
Source As Any, _
ByVal Length As Long)
Private Sub Form_Click()
Dim va As Variant
Dim i As Integer
Dim v(0 To 15) As Byte
Dim b As Integer
va = CDec(1234567890)
For i = 0 To 7
Call CopyMemory(v(0), va, 16)
b = (v(11) And &HF0) \ 16
va = va * &H11
Call CopyMemory(v(0), va, 16)
v(12) = 0
v(8) = v(8) Or b
Call CopyMemory(va, v(0), 16)
Next i
Call CopyMemory(v(0), va, 16)
Debug.Print Vis(v)
End Sub
Public Function Vis(v() As Byte) As String
Dim j As Integer
Dim s As String
For j = 11 To 8 Step -1
s = s & Right$("0" & Hex$(v(j)), 2)
Next j
Vis = s
End Function
Questo, come vedrai nella finestra di debug, ottiene lo stesso risultato di quello scritto in C ...
E' un po' complesso spiegarti cosa e come lo faccia ma posso farlo se ti interessa veramente ...