You might occasionally need to execute a group of statements with different and unrelated values of a variable. For example, say you need to verify that a number isn’t a multiple of 2, 3, 5, 7, or 11. In these circumstances, you can’t use a regular For…Next loop, unless you store these values into a temporary array. Here’s a more concise solution:
Dim n As Variant For Each n In Array(2, 3, 5, 7, 11) If (TestNumber Mod n) = 0 Then Print "Not prime" Exit For End IfNext
You can use the same technique to iterate on non-numeric values:
' check if a string embeds a shortened weekday nameDim d As Variant For Each d In Array("Sun", "Mon", "Tue", "Wed", "Thu", _ "Fri", "Sat") If Instr(1, TestString, d, vbTextCompare) Then Print "Weekday = " & d Exit For End IfNext