如果我有一个如下矩阵:
1 0 1 0 0
0 0 1 0 0
1 1 1 1 1
1 1 1 0 1
0 0 0 0 1
有没有一种方法可以遍历并将包含 1 的对角线元素替换为 0?
这是一个简化的矩阵,我正在使用的矩阵实际上是 2965x2965,所以我希望将公式应用于该大小的矩阵,但只能使对角线发生变化而其他一切保持不变。
答案1
我可能遗漏了一些东西,但这似乎可以满足您的需要:
Sub OneToZero()
Dim N As Long, i As Long
N = Columns.Count
For i = 1 To N
If Cells(i, i).Value = 1 Then Cells(i, i) = 0
Next i
End Sub