結果の出力を見ると、数字がきれいに並んでます。cametan_42さん(ブログはこちら)によれば、関数型のプログラミングではデータをひとまとまりに考えるということです。この場合はどうかというと、何行で多少違いますが、行さえ決まれば、数字の列が作れそうに思えます。それはこれから考えます。つまり行数と項目順をパラメータとした一般解を求めるということになりませんか?
VBでは配列を作ったときに、初期化されます。確か?なので0をセットするのはやめます。ついでに出力もしません。
追記)配列を使う方法以外は、難しかったので、置いときます。(涙)