沿对角线更改元素

沿对角线更改元素

如果我有一个如下矩阵:

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

相关内容