Hi Anno,
ich habe mir mal das Modul angeschaut und haette da ma ne
blöde frage.
Soweit habe ich das verstanden.
Was mit unklar ist, ist der einsatz von „and“ wann gibt er
denn true und wann false zurueck?
Logische Operation. Beispiel: UND (And)
0100010
1010010
0000010
Das Ergebnis ist eins, wenn das Bit in einem der Operanden gesetzt ist.
ODER (OR)
0100010
1010010
1110010
Das ergebnis ist eins, wenn das Bit in einem der Operanden gesetzt ist, unabhängig vom anderen Operanden.
Exklusiv Oder (EXOR)
0100010
1010010
1110000
Das Ergebnis ist Eins, wenn das bit in genau einem der beiden Operanden gesetzt ist.
2^n liefert immer ein Bit. Ich kann damit prüfen, ob der Wert diese Bit enthält.
Das du 8 durchlaeufe mit 2^pos machst ist mit klar.
Aber wann kommt ein true und wann ein false bei dem einsatz
wert and 2^pos ?
Ergebnis=1 -> True … 
Aber, ich habe da auch mal ne funktion gebastelt *zwinker* die
tut auch ganz anstaendig seine sache. Vorteil dieser Function
ist, das du die bitlänge mit angeben kannst und somit zahlen
> 255 darstellen kannst 
Private Function Dec2Bin(ByVal Dec As Long,BitLänge as byte)
As String
Dim Rest As Long
Do
Rest = Dec Mod 2
Dec2Bin = Rest & Dec2Bin
Dec = Dec \ 2
Loop Until Dec = 0
Dec2Bin = Right((String$(BitLänge, „0“) & Dec2Bin), BitLänge)
End Function
was haelst du von der Variante?
Mod muß ich mir ansehen, macht vermutlich ein logisches AND. 
Typisch Windows, verschiedene Schreibweisen für die selbe Lösung.
Was zum Basteln für Dich. Bastel mal eine Funktion …
Swap (a,b)
… ohne einen Wert in einer Variablen zwischenzuspeichern. 
Vile Spaß. 
Gruß, Rainer