Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 25.06.2015
Сообщений: 42

Сортировка генерируемых чисел

13.07.2015, 07:50. Показов 2093. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В таблице excel в 5 ячейках(в столбик) генерируются случайные числа от 0 до 20000. После генерации нужно составить сортировку от самого большого до самого маленького числа, да так, чтобы номера каждого числа 1, 2, 3, 4, 5, выводились справа от ячейки с числом.

То есть, если в первой ячейки число 20000 то справа будет стоять цифра один, во второй 15000 будет стоять 3, в третей число 18500, значит справа будет число 2 и т.д
Visual Basic
1
2
3
4
5
Randomize
a=Rnd
a=Fix(a*20000)  'Задаем массив случайным образом, числами от 0 до 20000
    
ActiveSheet.Cells(x+17, y+8) = a
P.S таблица динамическая.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.07.2015, 07:50
Ответы с готовыми решениями:

Частые повторы чисел генерируемых random
Пытаюсь сгенерировать случайное число int max = 54; int min = 1; int odin = (int) (Math.random() * ++max) + min; генерирует...

Оптимизация запросов, генерируемых DBIx
Имеется запрос к БД MySQL: select count(bm.msisdn) as msisdns_count, b.name, b.created from bases b join base_msisdns bm on...

Вид прокси-классов, генерируемых wsdl.exe
Обнаружил, что wsdl.exe (в составе Microsoft SDK, v7.0) стал геренить прокси-классы в другом виде. Раньше он мне генерил классы так, что...

7
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
13.07.2015, 08:18
Цитата Сообщение от AntiKaries Посмотреть сообщение
5 ячейках(в столбик) генерируются случайные числа от 0 до 20000
Ваш пример никогда не вернет 2000, максимум 1999 (поменяйте 2000 на 2001)

И свои наработки выкладывайте более подробно (отсюда не видно, что такое икс и игрек, как организован цикл и т.д.)
0
0 / 0 / 0
Регистрация: 25.06.2015
Сообщений: 42
13.07.2015, 08:31  [ТС]
в строках 167 - 169 рандом
x,y в строках 15-16
Вложения
Тип файла: rar Code.rar (3.6 Кб, 1 просмотров)
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
13.07.2015, 08:37
Цитата Сообщение от AntiKaries Посмотреть сообщение
В таблице excel в 5 ячейках(в столбик) генерируются случайные числа от 0 до 20000. После генерации нужно составить сортировку от самого большого до самого маленького числа, да так, чтобы номера каждого числа 1, 2, 3, 4, 5, выводились справа от ячейки с числом.
1. Левее столбика, в котором генерируются случайные числа, добавляем столбик с порядковым номером строки.
2. Работаем с регионом, состоящим из 5 строк и 3 столбцов: столбик с числами, столбика левее (с номерами строк) и столбика правее (куда нужно записать порядковый номер)
3. Методом Range.Sort сортируем по среднему столбику по убыванию сгенерированных чисел)
4. В правом столбике нумеруем строки по порядку.
5. Методом Range.Sort сортируем по лвому столбику (т.е. возвращаем исходную сортировку)
6. Удаляем добавленный в п 1. столбик
0
0 / 0 / 0
Регистрация: 25.06.2015
Сообщений: 42
13.07.2015, 08:41  [ТС]
Есть примеры с методом Range.Sort? Первый раз о нём слышу
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
13.07.2015, 08:57
Цитата Сообщение от AntiKaries Посмотреть сообщение
Есть примеры с методом Range.Sort? Первый раз о нём слышу
Цитата Сообщение от F1
Sort Method
See AlsoApplies ToExampleSpecificsSorts a PivotTable report, a range, or the active region if the specified range contains only one cell.

expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
expression Required. An expression that returns one of the objects in the Applies To list.

Key1 Optional Variant. The first sort field, as either text (a PivotTable field or range name) or a Range object ("Dept" or Cells(1, 1), for example).

Order1 Optional XlSortOrder. The sort order for the field or range specified in Key1.

XlSortOrder can be one of these XlSortOrder constants.
xlDescending. Sorts Key1 in descending order.
xlAscending default. Sorts Key1 in ascending order.

Key2 Optional Variant. The second sort field, as either text (a PivotTable field or range name) or a Range object. If you omit this argument, there’s no second sort field. Cannot be used when sorting Pivot Table reports.

Type Optional Variant. Specifies which elements are to be sorted. Use this argument only when sorting PivotTable reports.

XlSortType can be one of these XlSortType constants.
xlSortLabels. Sorts the PivotTable report by labels.
xlSortValues. Sorts the PivotTable report by values.

Order2 Optional XlSortOrder. The sort order for the field or range specified in Key2. Cannot be used when sorting PivotTable reports.

XlSortOrder can be one of these XlSortOrder constants.
xlDescending. Sorts Key2 in descending order.
xlAscending default. Sorts Key2 in ascending order.

Key3 Optional Variant. The third sort field, as either text (a range name) or a Range object. If you omit this argument, there’s no third sort field. Cannot be used when sorting PivotTable reports.

Order3 Optional XlSortOrder. The sort order for the field or range specified in Key3. Cannot be used when sorting PivotTable reports.

XlSortOrder can be one of these XlSortOrder constants.
xlDescending. Sorts Key3 in descending order.
xlAscending default. Sorts Key3 in ascending order.

Header Optional XlYesNoGuess. Specifies whether or not the first row contains headers. Cannot be used when sorting PivotTable reports.

XlYesNoGuess can be one of these XlYesNoGuess constants.
xlGuess. Let Microsoft Excel determine whether there’s a header, and to determine where it is, if there is one.
xlNo default. (The entire range should be sorted).
xlYes. (The entire range should not be sorted).

OrderCustom Optional Variant. This argument is a one-based integer offset to the list of custom sort orders. If you omit OrderCustom , a normal sort is used.

MatchCase Optional Variant. True to do a case-sensitive sort; False to do a sort that’s not case sensitive. Cannot be used when sorting PivotTable reports.

Orientation Optional XlSortOrientation. The sort orientation.

XlSortOrientation can be one of these XlSortOrientation constants.
xlSortRows default. Sorts by row.
xlSortColumns. Sorts by column.

SortMethod Optional XlSortMethod. The type of sort. Some of these constants may not be available to you, depending on the language support (U.S. English, for example) that you’ve selected or installed.

XlSortMethod can be one of these XlSortMethod constants.
xlStroke Sorting by the quantity of strokes in each character.
xlPinYin default. Phonetic Chinese sort order for characters.

DataOption1 Optional XlSortDataOption. Specifies how to sort text in key 1. Cannot be used when sorting PivotTable reports.

XlSortDataOption can be one of these XlSortDataOption constants.
xlSortTextAsNumbers. Treat text as numeric data for the sort.
xlSortNormal default. Sorts numeric and text data separately.

DataOption2 Optional XlSortDataOption. Specifies how to sort text in key 2. Cannot be used when sorting PivotTable reports.

XlSortDataOption can be one of these XlSortDataOption constants.
xlSortTextAsNumbers. Treats text as numeric data for the sort.
xlSortNormal default. Sorts numeric and text data separately.

DataOption3 Optional XlSortDataOption. Specifies how to sort text in key 3. Cannot be used when sorting PivotTable reports.

XlSortDataOption can be one of these XlSortDataOption constants.
xlSortTextAsNumbers. Treats text as numeric data for the sort.
xlSortNormal default. Sorts numeric and text data separately.

Remarks
The settings for Header, Order1, Order2, Order3, OrderCustom, and Orientation are saved, for the particular worksheet, each time you use this method. If you don’t specify values for these arguments the next time you call the method, the saved values are used. Set these arguments explicitly each time you use Sort method, if you choose not to use the saved values.

Text strings which are not convertible to numeric data are sorted normally.

Note If no arguments are defined with the Sort method, Microsoft Excel will sort the selection, chosen to be sorted, in ascending order.

Example
This example sorts the range A1:C20 on Sheet1, using cell A1 as the first sort key and cell B1 as the second sort key. The sort is done in ascending order by row, and there are no headers. This example assumes there is data in the range A1:C20.

Sub SortRange1()
Worksheets("Sheet1").Range("A1:C20").Sor t _
Key1:=Worksheets("Sheet1").Range("A1"), _
Key2:=Worksheets("Sheet1").Range("B1")
End Sub

This example sorts the region that contains cell A1 (the active region) on Sheet1, sorting by the data in the first column and automatically using a header row if one exists. This example assumes there is data in the active region, which includes cell A1. The Sort method determines the active region automatically.

Sub SortRange2()
Worksheets("Sheet1").Range("A1").Sort _
Key1:=Worksheets("Sheet1").Columns("A"), _
Header:=xlGuess
End Sub
...
1
0 / 0 / 0
Регистрация: 25.06.2015
Сообщений: 42
13.07.2015, 10:07  [ТС]
Апострофф, код не можете подсказать который выводит порядковые числа справа?
Код для сортировки рандома
P.S Подправьте код если не сложно
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Randomize
    a=Rnd
        a=Fix(a*20001)  'Задаем массив случайным образом, числами от 0 до 20000
    arr = Array(a)
    
    'сортировка массива методом пузырька
    SortArray(arr)
        Dim m, n 'счетчики
        Dim b 'буфер
        Dim f 'флаг
        If IsArray(arr) Then
            For m = 0 To UBound(arr)-1
                f = True
                For n = 0 To UBound(arr)-1
                    If arr(n) > arr(n+1) Then
                        b = arr(n)
                        arr(n) = arr(n+1)
                        arr(n+1) = b
                        f = False
                    End If
                Next
                If f Then Exit For
            Next
        End If
        SortArray = arr
    
    ActiveSheet.Cells(x+17, y+8) = a
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
13.07.2015, 11:15
Лучший ответ Сообщение было отмечено AntiKaries как решение

Решение

AntiKaries, исходя из условия задачи, сортировка не нужна.
Visual Basic
1
2
3
4
5
6
7
8
Sub AntiKaries()
Dim n
n = 5             '"таблица динамическая" -- размер таблицы
With Cells(1, 1).Resize(n, 2)
  .Formula = Array("=RANDBETWEEN(0,20000)", "=RANK(A1,A$1:A$" & n & ")")
  .Value = .Value 'необязательно
End With
End Sub
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.07.2015, 11:15
Помогаю со студенческими работами здесь

Сколько длин волн, генерируемых контуром, уложится на отрезке
При изменении тока в катушке индуктивности за 1 с возникает ЭДС индукции 4*10^-4 В. Емкость конденсатора 2*10^-10 Ф. Сколько длин волн,...

Сортировка массива целых чисел A(n) по убыванию(используя метод обменная сортировка)
Помогите написать программу для сортировки массива целых чисел A(n) по убыванию(используя метод обменная сортировка). Или хотя бы без этого...

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

Сортировка одномерного массива методом «пузырька», выделение массивов из четных и нечетных чисел. Вычисление суммы нечетных чисел
Program Sortirovka; Uses Crt; Var a:array of integer; i,j,k,n,Sum : integer; BEGIN Repeat Clrscr; Write('Vvedite...

Сортировка выбором, сортировка вставкой, сортировка заменой, сортировка обменом ("пузырьковая" сортировка)
Создать класс, содержащий массив и реализующий алгоритмы сортировки и бинарного поиска в этом массиве. Класс описать с помощью...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru