求在excel里面输出金字塔数列表的宏代码

来源:百度知道 编辑:UC知道 时间:2024/07/04 17:57:26
格式一:
0
1 2 3
4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24
25 。 。 。 。 。 。 。 。 。
N 。 。 。 。 。 。 。 。 。 。 。

格式二:
N
25 。
16 。 。
9 17 。 。
4 10 18 。 。
1 5 11 19 。 。
0 2 6 12 20 。 。
3 7 13 21 。 。
8 14 22 。 。
15 23 。 。
24 。 。
。 。


请高手帮帮忙呀!
前面的格式一是为等腰三角形结构,在这里面打不出这种格式,不好意思了!
前面的格式二是为侧等到腰三角形结构,在这里面也打不出来这种格式,不好意思了!格式是这样的:
空格空格空格空格0
空格空格空格空1 2 3
空格空格空格4 5 6 7 8
空格空格空9 101112131415
空格空格161718192021222324
空格空25 。 。 。 。 。 。 。
空格N 。。 。 。 。 。 。 。 。
空。 。 。 。 。 。 。 。 。 。 。

格式二是:
空格空格空格空格 。
空格空格空格空 N 。
空格空格空格25 。。
空格空格 16 。 。。
空格空 9 17 。 。。
空格4 10 18 。 。。
空1 5 11 19 。 。。
0 2 6 12 20 。 。。
空3 7 13 21 。 。。

将下面代码粘入宏中
Sub Macro1()
Dim i As Integer
n = 35 '自行更改
Dim s As String
Range("A1:z99").Select
Selection.ClearContents
Do While i <= n
s = Chr(65 + i - Int(Sqr(i)) ^ 2) & Int(Sqr(i) + 1)
Range(s) = i
i = i + 1
Loop
i = 0
Dim Coln As String
Dim Rown As String
Do While i <= n
Coln = Int(Sqr(n)) + 3 + i - Int(Sqr(i)) * Int(Sqr(i) + 1) + Int(Sqr(n))
Rown = (Int(Sqr(i)) - Abs(i - Int(Sqr(i)) * Int(Sqr(i) + 1)) + 65)
Range(Chr(Rown) & Coln) = i
i = i + 1
Loop
MsgBox "Over!"
End Sub