Всем привет. Как написать такую программу? Организовать два массива по 5 элементов каждый. Выполнить поэлементно операции деления. Результат вывести в новый массив.
Макрос берёт данные для двух массивов из вложенного файла.
Макрос вставляет результат на активный лист в столбец "C".
Макрос
Sub Макрос()
' Создание в оперативной памяти компьютера массивов.
Dim arr1(), arr2(), arrRes()
' Создание в оперативной памяти компьютера переменной.
' Переменная - это поименованная область в оперативной памяти компьютера.
' Переменная нужна, чтобы в неё что-то записывать. Переменную можно
' сравнить с файлом, но файл находится на жёстком диске компьютера, а переменная
' находится в оперативной памяти компьютера.
' Long означает, что в переменной могут быть только числа, причём только целые числа.
Dim i As Long
'1. Копирование данных из экселя в массивы.
arr1() = Range("A2:A6").Value
arr2() = Range("B2:B6").Value
'2. Создание ячеек в массиве-результате.
' UBound(arr1, 1) - это порядковый номер последней строки массива "arr1".
' После запятой 1 To 1 создаёт массив в виде столбца, а не ввиде строки.
' Это нужно, чтобы вставить данные из массива на эксель-лист одной командой, без использования цикла.
ReDim arrRes(1 To UBound(arr1, 1), 1 To 1)
'3. Деление элементов одного массива на элементы другого массива.
' For ... To ... Step - это цикл. Цикл нужен, чтобы делать одну и ту же
' команду несколько раз.
For i = 1 To UBound(arr1, 1) Step 1
arrRes(i, 1) = arr1(i, 1) / arr2(i, 1)
Next i
'4. Вставка результата в эксель.
Range("C2").Resize(UBound(arrRes, 1)).Value = arrRes()
End Sub
[вложение удалено администратором]