VBA: Массивы по 5 элементов каждый

Автор f0rest69, 19 ноября 2016, 08:03

f0rest69

Всем привет. Как написать такую программу? Организовать два массива по 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
[свернуть]

[вложение удалено администратором]