Насумично сортирање података у програму Екцел ВБА - Једноставни Екцел макрои

Преглед садржаја

У наставку ћемо погледати програм у Екцел ВБА то насумично сортира податке (у овом примеру насумично сортира имена).

Ситуација:

1. Прво, декларишемо четири променљиве. Једну променљиву типа Стринг називамо ТемпСтринг, једну променљиву типа Интегер називамо ТемпИнтегер, једну променљиву типа Интегер називамо и, а једну променљиву типа Интегер називамо ј.

Дим темпСтринг Ас Стринг, темпИнтегер Ас Интегер, и Ас Интегер, ј Ас Интегер

2. У колону Б уписујемо 5 случајних бројева (по један за свако име). За ово користимо функцију радног листа РандБетвеен.

За и = 1 до 5
Ћелије (и, 2) .Вредност = Радни лист Функција.РандБет између (0, 1000)
Затим сам

Досадашњи резултат:

Користићемо бројеве поред сваког имена да сортирамо имена. Име са најнижим бројем прво, име са другим најнижим бројем, друго итд.

3. Покрећемо Доубле Лооп.

За и = 1 до 5
За ј = и + 1 до 5

4. Додајте следећи кодни ред:

Ако су ћелије (ј, 2) .Вредност <ћелије (и, 2) .Вредност Тада

Пример: за и = 1 и ј = 2, Венди и Рицхард се упоређују. Будући да Рицхард има мањи број, замијенили смо Венди и Рицхарда. Рицхард је сада на првој позицији. За и = 1 и ј = 3, упоређују се Рицхард и Јоост. Јоост има већи број па се ништа не дешава. На овај начин Екцел ВБА добија име са најмањим бројем на првој позицији. За и = 2, Екцел ВБА добија назив са другим најнижим бројем на другој позицији итд.

5. Ако је тачно, мењамо имена.

темпСтринг = Ћелије (и, 1) .Вредност
Ћелије (и, 1). Вредност = Ћелије (ј, 1). Вредност
Ћелије (ј, 1) .Вредност = темпСтринг

6. И мењамо бројеве.

темпИнтегер = Ћелије (и, 2) .Вредност
Ћелије (и, 2) .Вредност = Ћелије (ј, 2) .Вредност
Ћелије (ј, 2) .Вредност = темпИнтегер

7. Не заборавите да затворите наредбу Иф.

Крај Ако

8. Не заборавите да затворите две петље.

 Даље ј
Затим сам

9. Тестирајте програм.

Резултат:

Напомена: можете додати ред који брише бројеве у колони Б. Још је лепше поставити бројеве сваког имена у низ, тако да се бројеви не стављају на ваш радни лист. Међутим, ради илустрације, одабрали смо да вредности ставимо на лист.

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave