![Ändern der Elemente entlang einer Diagonalen](https://rvso.com/image/1585704/%C3%84ndern%20der%20Elemente%20entlang%20einer%20Diagonalen.png)
Wenn ich eine Matrix wie die folgende hätte:
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
Gibt es eine Methode, um die diagonalen Elemente, die eine 1 enthalten, durch eine 0 zu ersetzen?
Dies ist eine vereinfachte Matrix. Die, mit der ich arbeite, ist tatsächlich 2965 x 2965 groß, daher hoffe ich, die Formel auf eine Matrix dieser Größe anwenden zu können, aber nur so, dass sich die Diagonalen ändern und alles andere gleich bleibt.
Antwort1
Vielleicht übersehe ich etwas, aber das hier scheint zu funktionieren, was Sie brauchen:
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