Программироание VBA. Надо написать программу, в которой есть функция . Функция принимает...

0 голосов
57 просмотров

Программироание VBA. Надо написать программу, в которой есть функция . Функция принимает массив . Она сортирует массив (числа ) по возрастанию . После надо вывести полученный результат на печать


Информатика (248 баллов) | 57 просмотров
0

Откуда в VBA вывод на печать? VBA обменивается данными либо с листом рабочей книги Excel, либо читает с клавиатуры и выводит на экран по одному сообщению в окно.

0

Если устроит обмен с листом рабочей книги, напишу программу.

0

Только что назад скачал из вложения, запустил - все работает, как из пушки.

0

Не смешно даже. Она не может не работать, поскольку в Экселе все проверено и выложена прямо сама таблица. Следовательно, Вы что-то не так сделали.

0

Программа не работает ...

0

В Экселе не надо писать собственную сортировку, он это и так умет делать.

0

Готово. И теперь вдруг выяснится, что "нам так не рассказывали" ))

0

Alviko , пожалуйста , помогите мне .

0

Устроет любой вывод :)

Дан 1 ответ
0 голосов
Правильный ответ

Private Sub CommandButton1_Click()
    Dim n As Integer, R As Range
    n = Cells(1, 4).Value
    Set R = Range(Cells(5, 2), Cells(4 + n, 2))
    MySort R.Offset(0, -1), R
End Sub

Private Sub MySort(RFrom As Range, RTo As Range)
' На самом деле сто лет она тут не нужна, глупо придумано задание
    RFrom.Copy RTo
    RTo.Sort RTo.Range(Cells(1, 1), Cells(1, 1))
End Sub

Файл MS Excel 2003 во вложении.


Скачать вложение Excel (XLS)
(142k баллов)
0

*module

0

Разрешен

0

Вы что, никогда с VBA не работали? Наверняка же стоит запрет на выполнение макросов...

0

Запустил я ваш файл .При запуск программы мне выдает окно , где написано Macros , Macros name .....

0

Что за глупый вопрос? Где-то было написано, что нужен ввод с клавиатуры? Все, что в задании не оговорено, пишется так, как человек сочтет нужным.

0

Зачем надо было делать поле "Число элементов " массива ?

0

Если что, у Вас весь код уже лежит в проекте в первом листе, копировать ничего никуда не надо.

0

???

0

Вам надо открыть таблицу приложенную, заполнить Вашими данными массив, указать в поле количество элементов и щелкнуть кнопку.. А когда это все отработает, убедитесь, что все нормально, можете уже под свои нужды подгонять

0

Я там Вам личное сообщение написал