请求修正VBA代码以生成指定下三角数字矩阵
修正VBA代码生成指定下三角数字矩阵
目标矩阵样式:
1 2 3 4 5
2 3 4 5
3 4 5
4 5
5
你的原代码存在3个关键问题:
- 内层循环终止语句错误:
Next i应改为Next j,否则外层循环会被提前中断,逻辑完全混乱 - 单元格行/列引用颠倒:
Cells(j,i)会把值写入第j行第i列,不符合目标矩阵的行填充需求 - 冗余代码:
Cells(i,1).value=i会被内层循环覆盖,无需单独编写
以下是修正后的代码:
Sub pattern() Dim i As Byte Dim j As Byte ' 清空目标区域,避免旧数据干扰 Range("A1:E5").ClearContents For i = 1 To 5 ' 第i行从第1列开始,填充从i到5的连续数字 For j = 1 To 5 - i + 1 Cells(i, j).Value = i + j - 1 Next j Next i End Sub
代码逻辑说明:
- 外层循环
i控制当前处理的行号(1到5) - 内层循环
j控制当前行的列数:第i行需要填充5 - i + 1个数字(如第1行5个、第2行4个) i + j - 1确保每个位置的数字从i开始依次递增(j=1时为i,j=2时为i+1,直到达到5)
内容的提问来源于stack exchange,提问作者Amit Pandey
相关产品推荐
相关产品推荐

