Hola, en primer lugar debes tener muy claro que caracteres deseas filtrar, te dejo una posible opción aunque tal vez no sea la más idónea, te aseguro que funciona:
     
Código vb:
Ver original- Public Function SoloLetras(Cadena As String) As String 
-   Dim Validos As String, Posicion As Integer, Caracter As String 
-   Validos = "abcdefghijklmnopqrstuvwxyz" 
-   Validos = Validos & "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
-   Validos = Validos & "áéíóúàèìòù" ' ... 
-   For Posicion = 1 To Len(Cadena) 
-     Caracter = Mid$(Cadena, Posicion, 1) 
-     If InStr(Validos, Caracter) > 0 Then SoloLetras = SoloLetras & Caracter 
-   Next 
- End Function 
Te comento lo de la más idonea porque probablemente si coges la tabla Ascii y comparas el valor numérico de la tecla, tal vez sea mas rápido. 
Saludos