User Tools

Site Tools


vba:functions:andb

[VBA] andB()

Führt einen Bitvergleich durch und gibt ein Boolean zurück.

Version 1.0.0

Beschreibung

Um einen wirklich Aussagekräftigen Bit-Vergleich bei VBA zu machen, reicht das AND nicht aus. SOndern es muss das Resultat gegen den gewünschten Wert geprüft werden: (haystack AND needle) = needle. Mir wurde es zu mühsam, das immer auszuschreiben. Darum erstellt ich diese kleine Hilfsfunktion andB()

Beispiele

?andB(3, 1)
True
 
?andB(3, 4)
False
 
?andB(6, 1)
False

Code

udf_andb.bas
Attribute VB_Name = "udf_andB"
'-------------------------------------------------------------------------------
'File         : udf_andb.bas
'               Copyright mpl by ERB software
'               All rights reserved
'               http://wiki.yaslaw.info/dokuwiki/doku.php/vba/functions/andb
'Environment  : VBA 2010 +
'Version      : 1.0.0
'Name         : andB
'Author       : Stefan Erb (ERS)
'History      : 06.01.2015 - ERS - Creation
'-------------------------------------------------------------------------------
Option Explicit
 
'/**
' * http://wiki.yaslaw.info/dokuwiki/doku.php/vba/functions/andb
' * Macht einen Bit-Vergleich
' * @param  Long
' * @param  Long
' * @return Boolean
' */
Public Function andB(ByVal iHaystack As Long, ByVal iNeedle As Long) As Boolean
    andB = ((iHaystack And iNeedle) = iNeedle)
End Function
 
 
vba/functions/andb.txt · Last modified: 29.06.2016 10:55:35 by yaslaw