Leider gibt es nur im SQL den Befehl Between. In VBA fehlt mir dieser. Meistens wird das mit
[unteres Limit] =< [Wert] AND [Wert] =< [oberes Limit]
umgesetzt. Genau diese Formel steckt auch in dieser Funktion. Sie ist einfach kompakter und im Code sieht man sofort, dass es sich um ein BETWEEN handelt.
? between(13, 10, 20) True ? between(10, 10, 20) True ? between(9.9, 10, 20) False ? between("Hans", "C", "K") True ? between("Peter", "C", "K") False
Attribute VB_Name = "udf_between" '------------------------------------------------------------------------------- 'File : udf_between.bas ' Copyright mpl by ERB software ' All rights reserved ' http://wiki.yaslaw.info/dokuwiki/doku.php/vba/cast/strtodate 'Environment : VBA 2007 + 'Version : 1.0.0 'Name : between 'Author : Stefan Erb (ERS) 'History : 23.06.2014 - ERS - Creation '------------------------------------------------------------------------------- Option Explicit '/** ' * Ersatz für den fehlenden BETWEEN BEfehl in VBA ' * @param Variant Wert, der geprüft werden soll ' * @param Variant Untere Limite des Ranges ' * @param Variant Obere Limite de Ranges ' * @return Boolean ' */ Public Function between(ByVal iValue As Variant, ByVal iFrom As Variant, ByVal iTo As Variant) As Boolean between = iFrom <= iValue And iValue <= iTo End Function