Проблема vba

Для всех любителей и профессионалов этого нелегкого дела.

Модераторы: Почётные модераторы, Модераторы "Программирование"

Проблема vba

Сообщение DAHuJIA » 28 май 2010, 18:26

Такое задание(пишу по памяти):
Надо вывести двумерный массив (n,n) каждый элемент которого рассчитан в диапазоне (a,b) на 1 и 2 лист Excel. На втором листе в этом массиве заменить все элементы по главное диагонали на 1(единицу), а по второстепенной диагонали на 0(ноль).
Сделал все до второстепенной диагонали, дальше ни как, и мысли вроде бы есть, да вот ни как ни могу уловить и реализовать.
Вот что у меня получилось на данный момент:
Код: Выделить всё
Sub trololo()
Dim n As Integer
Dim massiv() As Integer
Dim i As Integer, j As Integer
Dim a As Integer, b As Integer
Randomize
Worksheets("Лист1").Range("A1:Z30").Clear
Worksheets("Лист2").Range("A1:Z30").Clear
a = InputBox("Введите А")
b = InputBox("Введите Б")
n = InputBox("Введите Н")
ReDim massiv(1 To n, 1 To n)
For i = 1 To n
    For j = 1 To n
        massiv(i, j) = (b - a + 1) * Rnd() + a
        Worksheets("Лист1").Cells(i, j) = massiv(i, j)
        Worksheets("Лист2").Cells(i, j) = massiv(i, j)
    Next j
Next i
For i = 1 To n
    For j = 1 To n
        If i = j Then
            Worksheets("Лист2").Cells(i, j) = 1
        End If
    Next j
Next i
End Sub
Аватара пользователя
DAHuJIA
 
Сообщения: 350
Зарегистрирован: 27 мар 2009, 22:08
Откуда: Магнитогорск

Re: Проблема vba

Сообщение brain » 28 май 2010, 20:20

For i = 1 To n
For j = 1 To n
If i + j= n + 1 Then
Worksheets("Лист2").Cells(i, j) = 0
End If
Next j
Next i
Аватара пользователя
brain
 
Сообщения: 245
Зарегистрирован: 24 сен 2007, 14:16

Re: Проблема vba

Сообщение DAHuJIA » 28 май 2010, 20:30

омг работает, ОГРОМНОЕ спасибо, только я не понял почему это работает :D , в мыслях у меня не было такого, не могли бы вы мне объяснить?
Аватара пользователя
DAHuJIA
 
Сообщения: 350
Зарегистрирован: 27 мар 2009, 22:08
Откуда: Магнитогорск

Re: Проблема vba

Сообщение DAHuJIA » 28 май 2010, 20:32

А все осенило! :) Еще раз огромное спасибо!
Аватара пользователя
DAHuJIA
 
Сообщения: 350
Зарегистрирован: 27 мар 2009, 22:08
Откуда: Магнитогорск


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1