Pues se trata de un simple bucle For para recorrer la cadena de carácter en carácter.
Luego comprobamos que sea un número y si es así lo agregamos a la segunda variable.
El valor
ASCII de los números va desde el 0 (48) hasta el 9(57), como la función
ORD, devuelve ese valor, de ahí la comprobación si está en este rango de valores, si es así se trata de un número y lo añadimos a la variable.
n actúa como subindice para poder recorrer los caracteres de uno en uno.
Creo que así esté fácil de entender.
Un Saludo.