Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Создание автоматического макроса по сортировке

 

Создать автоматический макрос по сортировке по столбцу "Абсолютная успеваемость, проц." (Листа5, табл.6)

Встаем на лист, где будет макрос. Включаем запись макроса Сервис→Макрос→Начать запись→ОК. Появится квадрат, где кнопка остановить запись. На Листе5 (отчет) выделяем таблицу без заголовков и итогов, копируем на Лист9 (автосортировка) в элементе меню выбираем Данные→Сортировка→по возрастанию→по столбцам→ОК. Отмечаем столбец по которому будем сортировать. Нажимаем кнопку остановить запись.

Sub Макрос1Сортировка ()

'

' Макрос1Сортировка Макрос

'

'

Sheets (" Лист 5"). Select

Range ("A2: H17"). Select

Selection. Copy

Sheets (" Лист 7"). Select

Range ("A2: A3"). Select

ActiveSheet. Paste

Application. CutCopyMode = False

Range ("A5: H17"). Select

ActiveWorkbook. Worksheets (" Лист 7"). Sort. SortFields. Clear

ActiveWorkbook. Worksheets (" Лист 7"). Sort. SortFields. Add Key: =Range ("A5"), _

SortOn: =xlSortOnValues, Order: =xlAscending, DataOption: =xlSortNormal

With ActiveWorkbook. Worksheets (" Лист 7"). Sort

. SetRange Range ("A4: H17")

. Header = xlYes

. MatchCase = True

. Orientation = xlTopToBottom

. SortMethod = xlPinYin

. Apply

End With

End Sub

Рис.7. Данные таблицы после авто-сортировки

Выборка данных

 

Создать отчёт по выборке с Листа5 по столбцу "Качественная успеваемость, проц." (с Листа 8, табл.7)

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

Определить количество элементов нового массива по заданному условию введя переменную с помощью оператора InputBox

Объявить и переобъявить новый массив

Сформировать новый массив. Для этого необходимо задать номер первого элемента нового массива u=1. Затем выполняется цикл, в котором записывается условие выборки по столбцу "Качественная успеваемость, проц. ". Если результат проверки истина, то элемент анализируемого массива становится элементом нового массива.

Вывести новый элемент на Лист 8

 

Sub ОтчётВыборка ()

Sheets (" Лист 8"). Select

Dim A () As Variant

n1 = Sheets (" Лист 4"). Cells (5,12)

m = Sheets (" Лист 2"). Cells (5,12)

ReDim A (1 To n1, 1 To m)

VVOD " Лист 5", A, n1, m, 4

C = InputBox (" Введите условие ")

Sheets (" Лист 8"). Cells (5,11) = C

d = 0

For i = 1 To n1

If A (i,

8) > Sheets (" Лист 8"). Cells (5,11) Then

d = d + 1

End If

Next i

Sheets (" Лист 8"). Cells (5,10) = d

Dim B () As Variant

ReDim B (1 To d, 1 To m)

u = 1

For i = 1 To n1

If A (i,

8) > Sheets (" Лист 8"). Cells (5,11) Then

For j = 1 To m

B (u, j) = A (i, j)

Next j

u = u + 1

End If

Next i

S = 0

For i = 1 To d

For j = 1 To m

Sheets (" Лист 8"). Cells (i + 4, j) = B (i, j)

Next j

Next i

End Sub

Рис.6. Данные таблицы после выборки

Создание автоматического макроса по выборке

 

Включаем запись макроса. Сервис→Макрос→Начать запись→ОК. Появится квадрат, где кнопка остановить запись. На Листе5 (отчет) выделяем таблицу без заголовков и итогов, копируем на Лист10 (автовыборка). Выделяем таблицу без заголовков и в элементе меню, выбираем Данные→Фильтр→Автофильтр→выбираем условие→ОК. Отмечаем столбец по которому будем сортировать. Завершаем работу макроса.

Sub Макрос2Выборка ()

'

' Макрос2Выборка Макрос

'

'

Sheets ("Лист5"). Select

Selection. Copy

Sheets ("Лист9"). Select

ActiveSheet. Paste

Range ("H5: H17"). Select

Application. CutCopyMode = False

Selection. AutoFilter

ActiveSheet. Range ("$H$5: $H$17"). AutoFilter Field: =1, Criteria1: =">80", _

Operator: =xlAnd

Range ("G22"). Select

End Sub

Рис.7. Данные таблицы после авто-выборки

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...