I *thought* I used a lot of i,j,a,b,s,t,x variables (I do for many short subs and functions). Inspecting my more serious projects shows more descriptive variables with hungarian notation, and sometimes Types or Classes.
I do like the precise, abbreviated logic of one letter variables and find it's easier to read - most of my short routines use them, and even longer ones. But I comment my code fairly extensively, and try to keep the procedures discrete so that variables are local and short lived, as much as possible. True, it's perplexing at first. But with some familiarity you start to see the logic (I always think of Jindon's code in this regard - at first, quite a puzzle, but with time I see the patterns and start to "get it").
On the subject of variables dimmed in the middle of code ... I *do* rather like the idea of block-level scope. We could make use of that (I think VB.Net has it now, but not VBA ... someone correct me if I am wrong).
ξ