Führt einen Bitvergleich durch und gibt ein Boolean zurück.
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()
?andB(3, 1) True ?andB(3, 4) False ?andB(6, 1) False
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