Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 8
1
Excel

Выбор 5 наибольших значений с использованием макросов

31.05.2018, 11:06. Показов 2414. Ответов 4
Метки нет (Все метки)

Здравствуйте, уважаемые форумчане,

никак не могу придумать как сделать и главное чтобы работало на макросе, а не с использованием формулы НАИБОЛЬШЕЕ.

Есть табличка с одинаковыми значениями, необходимо выбрать 5 наибольших значений по колонке D и скопировать на другую страницу, как скопировать понятно, но как выбрать 5 наибольших значений.

Подскажите пожалуйста, по какому алгоритму это возможно сделать. Спасибо.
Вложения
Тип файла: xlsx Книга3.xlsx (9.4 Кб, 7 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2018, 11:06
Ответы с готовыми решениями:

Выбор нескольких наибольших значений из столбца
Добрый день! помогите пожалуйста со следующим вопросом: Есть столбец с числовыми значениями....

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

Найти сумму наибольших значений строк и произведение наименьших значений столбцов матрицы
Дана действительная матрица размера MxN. Найти сумму наибольших значений элементов ее строк, а...

Составить отчет с использованием макросов
само задание лежит в файле. По отчеты за каждый месяц нужно записывать во вложенную таблицу на 3ем...

4
2062 / 1410 / 662
Регистрация: 23.03.2015
Сообщений: 4,597
31.05.2018, 15:32 2
kudrik_tt,

Как вариант:
1) Объявить переменную X для хранения вещественных чисел. Присвоить ей значение -1
2) Объявить 2 (два ) массива вещественных чисел (допустим А и Б)
3) Загрузить данные в массив Б
4) Цикл от 1-го до 5-ти
Цикл от 1-го до последнего элемента массива Б
Если значение (i-го элемента массива Б > X , то
а) Х -присвоить значение i-го элемента массива Б
б) Занести в массив А это же значение
в) значению i-го элемента массива Б присвоить 0
г) выйти из цикла по массиву Б
5) вывести данные на другую страницу....
0
1468 / 1013 / 322
Регистрация: 11.07.2014
Сообщений: 3,625
31.05.2018, 18:01 3
Лучший ответ Сообщение было отмечено kudrik_tt как решение

Решение

kudrik_tt, ещё один вариант для 5 старших, остальное, как вы пишете, вы знаете
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub proba()
Dim Mad(1 To 5) As Double, D As Range, I As Integer, Ma As Double
Dim J As Integer, K As Integer
Set D = Range("D2:D20") 'это ваши данные/ для положительных чисел
For I = 1 To 19
  For J = 1 To 5
    If Mad(J) < D(I) Then
      For K = 5 To J + 1 Step -1
        Mad(K) = Mad(K - 1)
      Next
      Mad(J) = D(I)
      Exit For
    End If
  Next
Next
MsgBox Mad(1) & " " & Mad(2) & " " & Mad(3) & " " & Mad(4) & " " & Mad(5)
End Sub
0
0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 8
01.06.2018, 11:06  [ТС] 4
Спасибо большущее. Вечером попробую
0
6861 / 2795 / 530
Регистрация: 19.10.2012
Сообщений: 8,530
01.06.2018, 23:22 5
Отсортировать массив и выгрузить верхушку. Это если лень писать что-то своё оптимизированное под задачу. А сортировок полно готовых разных.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2018, 23:22

Поиск фрагментов текста в ячейке с использованием макросов
Добрый день! Нужна Ваша помощь. Видела похожие темы, но все равно не получилось сделать. Дана...

Как сделать автозаполнение полей с использованием макросов?
На листе 2 предоставлена база данных с помощью которой необходимо заполнить форму на 1 листе....

Как связать несколько листов excel с использованием макросов
Здравствуйте,очень рассчитываю на вашу помощь. Я никак не могу найти нужную функцию или же написать...

Обработка в Excel 2007 табличных данных с использованием макросов на VBA
Помоооогите пожалуйста, братцы, сделать лабораторку, ОЧЕНЬ СРОЧНО!!! Буду безумно благодарен, если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru