Most textbox filters are for categories of keystrokes - for example, upper and/or lower case letters, digits, etc. In these cases it is faster (although not noticibly) and clearer (which is almost always desirable) to use ranges. As such,
Select Case e.KeyChar
Case "0" To "9" 'allow digit
Case "a" To "z" 'allow lower case letter
case 'A' To 'Z' 'allow upper case letter
Case Else: e.Handled = True
End Select
is immediately obvious even without the comments. It is also easy to modify. If you use a list (or array) of numbers like you are doing, it is necessary to first translate the numbers into the corresponding characters, then scan through that list to ensure that the coder did not (deliberately or accidentally) omit one character, or incorrectly enter a value. That is not good coding.