Если бы у меня была матрица, подобная представленной ниже:
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