{"text_format":"3","workbook":"xlsx","n_sheets":2,"sheets":["И2_лр26","VBA - инструкции и комментарии"],"read":"whole","date_system":"1900"}

{"sheet":"И2_лр26","index":0,"n_rows":317,"n_cols":1,"rows_kept":317}
["                                      Лабораторная работа № 26 по дисциплине \"Информатика модуль 2\" "]
[]
["          Тема: Создание макроса для подведения итогов. Выполнение макроса по шагам."]
["                   Редактирование макроса."]
[]
[]
["          ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ФАЙЛ"]
[]
["1. Скопируйте все ячейки листа Склад на лист Копия ( можно выполнением соответствующего макроса )."]
[]
[]
["2. Внесите изменения в Ваш файл: "]
[]
["   – удалите из Вашего файла лист, на котором проверялось выполнение макросов Абсолютное_Я "]
["     и Относительное_Я;"]
[]
["   – если в Вашем файле нет листа Итоги, то вставьте лист с таким именем между листами Склад и Копия;"]
[]
["   – расположите листы Вашего файла в следующем порядке: Запуск, Штаты, Склад, Итоги, Копия."]
[]
[]
["          СОЗДАНИЕ МАКРОСА"]
[]
["   ВНИМАНИЕ! Перед выполнением п.3 следует прочесть его полностью для ознакомления с полной "]
["                      последовательностью действий, необходимых для создания макроса, обращая особое "]
["                      внимание на действия, касающиеся работы с датами и функцией СЕГОДНЯ ( если в этих и"]
["                      других случаях возникают затруднения, то рекомендуется попробовать выполнить "]
["                      соответствующие последовательности действий для тренировки без записи макроса )."]
[]
["   ВНИМАНИЕ! При создании макроса с длинной последовательностью действий, которая не может быть"]
["                      полностью видна в окне файла с заданием, можно при записи макроса активизировать "]
["                      окно файла с заданием для прочтения очередных действий записываемого макроса "]
["                      и затем снова активизировать окно Вашего файла для выполнения этих действий. "]
["                      При этом в модуле с записываемым макросом появятся инструкции, соответствующие "]
["                      активизации окна файла с заданием, перемещениям и прочим действиям в файле "]
["                      с заданием и затем активизации окна Вашего файла. Эти инструкции могут быть удалены"]
["                      из модуля с макросом после завершения создания этого макроса ( см. п.6 )."]
[]
["3. Создайте в Вашем файле в режиме АБСОЛЮТНЫХ ссылок макрос с именем"]
["   Подведение_итогов_по_группам_товаров, соответствующий следующей последовательности действий: "]
[]
["   (1) – перейти на лист Итоги с любого другого листа Вашего файла; "]
["   (2) – на листе Итоги сделать текущей ячейку C6 и на ленте на вкладке ДАННЫЕ в группе Структура  "]
["          раскрыть список кнопки Разгруппировать и выбрать в нем команду Удалить структуру;"]
["   (3) – скопировать содержимое листа Склад на лист Итоги; "]
["   (4) – выделить все ячейки листа Итоги и очистить форматы всех ячеек этого листа, для чего можно нажать"]
["          на кнопку Очистить форматы на панели быстрого доступа"]
["          или на ленте на вкладке ГЛАВНАЯ в группе Редактирование использовать кнопку Очистить"]
["                                  ( в раскрывающемся списке этой кнопки следует выполнить команду Очистить форматы );"]
["   (5) – на листе Итоги выделить строки с 1 по 5 и очистить содержимое этих строк, для чего можно нажать "]
["          на клавишу Delete"]
["          или на ленте на вкладке ГЛАВНАЯ в группе Редактирование использовать кнопку Очистить"]
["                             ( в раскрывающемся списке этой кнопки следует выполнить команду Очистить содержимое );"]
["   (6) – на листе Итоги в ячейке E2 разместить заголовок Расчет итоговых сумм по группам товаров"]
["          ( шрифт Arial, размер 12, Полужирный, цвет Синий ); "]
["   (7) – на листе Итоги правее заголовка через ячейку разместить результат выполнения функции СЕГОДНЯ;"]
["   (8) – на листе Итоги отформатировать строку с заголовками столбцов списка ( шрифт Arial, "]
["          размер 10, Полужирный, цвет Авто ); "]
["   (9) – на листе Итоги в столбце со сроками годности выделить диапазон, начинающийся со строки 7"]
["          и заканчивающийся в последней строке листа, для чего следует в этом столбце выделить "]
["          ячейку в строке 7 ( верхнюю ячейку указанного диапазона ) и затем"]
["          на ленте на вкладке ГЛАВНАЯ в группе Редактирование для кнопки Найти и выделить"]
["                                                                  в раскрывающемся списке этой кнопки выполнить команду Перейти…,"]
["          после чего в появившемся окне Переход в поле Ссылка "]
["          ввести адрес нижней ячейки указанного диапазона"]
["          ( для файла типа Книга Excel с поддержкой макросов (*.xlsm) это F1048576,"]
["            для файла типа Книга Excel 97-2003 (*.xls) это F65536 )"]
["          и, удерживая нажатой клавишу Shift, нажать в окне Переход на кнопку ОК или нажать клавишу Enter;"]
[" (10) – отформатировать выделенный диапазон со сроками годности в формате 14.03.12;"]
[" (11) – на листе Итоги сделать текущей ячейку C6;"]
[" (12) – на листе Итоги выполнить сортировку списка по группам товаров по возрастанию"]
["         ( используя, например, кнопку Сортировка от А до Я "]
["           на ленте на вкладке ДАННЫЕ в группе Сортировка и фильтр "]
["                  или на вкладке ГЛАВНАЯ в группе Редактирование в списке кнопки Сортировка и фильтр ); "]
[" (13) – на листе Итоги выполнить подведение итогов При каждом изменении в Группа товаров,"]
["          выполняемая Операция Сумма и Добавить итоги по Стоимость опта и Стоимость розницы "]
["          ( на ленте на вкладке ДАННЫЕ в группе Структура нажать кнопку Промежуточный итог и т.д. ); "]
[" (14) – на листе Итоги сделать текущей ячейку A1."]
[]
[]
["          ВЫПОЛНЕНИЕ МАКРОСА ПО ШАГАМ"]
[]
["4. Выполните созданный макрос по шагам в режиме так называемой отладки: "]
[]
["   – нажмите на кнопку Макросы, добавленную на панель быстрого доступа"]
["     ( доступную также на ленте на добавленной вкладке РАЗРАБОТЧИК в группе Код"]
["                                          или на вкладке ВИД в группе Макросы"]
["                                                                            при раскрытии списка кнопки Макросы ),"]
["     или нажмите сочетание клавиш Alt+F8,"]
["     затем в появившемся окне Макрос выберите имя созданного макроса и нажмите на кнопку Войти,"]
["                                                                                                                             ( или на кнопку Изменить ),"]
["     после чего на экране появится окно программы Microsoft Visual Basic for Applications с внутренним окном"]
["     модуля с созданным макросом;"]
[]
["   – измените размеры окна Microsoft Visual Basic for Applications, а при необходимости и переместите его"]
["      так, чтобы оно не мешало видеть результаты выполнения макроса в окне Excel;"]
[]
["   – нажатиями клавиши F8 выполняйте макрос по шагам до завершения его выполнения"]
["     ( для прекращения выполнения макроса по шагам можно в окне Microsoft Visual Basic for Applications"]
["                                                                                     нажать на кнопку Reset на панели инструментов Standard, "]
["       для продолжения выполнения макроса в обычном ( автоматическом ) режиме можно нажать клавишу F5 "]
["             или в окне Microsoft Visual Basic for Applications нажать на кнопку Continue"]
["                                                                                                                        на панели инструментов Standard )."]
[]
[]
["   ВНИМАНИЕ! При неправильном выполнении макроса можно проверить его выполнение по шагам, "]
["                      и, определив место его неправильного выполнения, либо полностью создать его заново, "]
["                      либо создать еще один макрос меньшего размера, правильно выполняющий ошибочную "]
["                      часть первого макроса, и затем заменить в модуле с первым макросом "]
["                      ошибочную часть инструкций на правильные инструкции из макроса меньшего размера "]
["                      ( после чего макрос меньшего размера можно удалить )."]
[]
["   ВНИМАНИЕ! При появлении маленького окна Microsoft Visual Basic с текстом об Ошибке выполнения"]
["                      можно в этом окне: "]
["                      или нажать на кнопку Debug для перехода в модуль на инструкцию макроса,"]
["                                                                                                             вызвавшую ошибку, "]
["                      или нажать на кнопку End для завершения выполнения макроса."]
[]
["   ВНИМАНИЕ! Если при выполнении действий, связанных с выполнением и отладкой макросов,"]
["                      оказываются недоступными кнопки Записать макрос и Макросы, добавленные на панель"]
["                      быстрого запуска ( а также оказываются недоступными соответствующие им кнопки на ленте ),"]
["                      или появляется маленькое окно  Microsoft Visual Basic for Applications"]
["                      с текстом Can't execute code in break mode, то это означает, что какой-либо макрос"]
["                      находится в режиме отладки. Для вывода макроса из режима отладки можно"]
["                      в окне Microsoft Visual Basic for Applications"]
["                                 нажать на кнопку Reset на панели инструментов Standard"]
["                                 ( или выполнить команды меню RunрReset )"]
["                      или закрыть окно Microsoft Visual Basic for Applications"]
["                      ( в этом случае при появлении маленького окна Microsoft Visual Basic for Applications"]
["                        с текстом This command will stop the debugger нажмите на кнопку ОК"]
["                                                                                        или нажмите клавишу Enter )."]
[]
[]
["          ПРОВЕРКА ВЫПОЛНЕНИЯ МАКРОСА"]
[]
["5. На листе Запуск создайте командную кнопку и назначьте ей созданный макрос, для чего: "]
[]
["   – сделайте текущим лист Запуск;"]
[]
["   – нажмите на кнопку Кнопка (элемент управления формы), добавленную на панель быстрого доступа;"]
[]
["   – нарисуйте командную кнопку, перемещая указатель по листу при нажатой левой кнопке \"мыши\";"]
[]
["   – в появившемся окне Назначить макрос объекту выберите имя созданного макроса"]
["     и нажмите на кнопку ОК;"]
[]
["   – измените, как в текстовом поле, надпись на командной кнопке на надпись  Итоги по группам товаров "]
[]
["   – при необходимости изменения формата созданной командной кнопки выполните"]
["     в контекстном меню этой кнопки команду Формат объекта...; "]
[]
["   – проверьте выполнение макроса нажатием созданной командной кнопки. "]
[]
["   ВНИМАНИЕ! Если оказалось, что при нажатии созданной командной кнопки не выполняется ничего "]
["                      или выполняется не тот макрос, то можно заново назначить макрос этой кнопке,"]
["                      выполнив в контекстном меню кнопки команду Назначить макрос… и т.д.."]
[]
[]
["          РЕДАКТИРОВАНИЕ МАКРОСА И ВСТАВКА КОММЕНТАРИЕВ"]
[]
["6. Из модуля с созданным макросом удалите строки с инструкциями, появляющимися во время записи "]
["   макроса при выполнении излишних действий, не имеющих прямого отношения к тем действиям, "]
["   которые должен был бы выполнять макрос, если бы этот макрос был создан точно в соответствии"]
["   с заданной последовательностью действий: "]
[]
["   – перейдите в модуль с созданным макросом, для чего "]
["     нажмите на кнопку Макросы, добавленную на панель быстрого доступа"]
["     ( доступную также на ленте на добавленной вкладке РАЗРАБОТЧИК в группе Код"]
["                                          или на вкладке ВИД в группе Макросы"]
["                                                                            при раскрытии списка кнопки Макросы ),"]
["     или нажмите сочетание клавиш Alt+F8,"]
["     затем в появившемся окне Макрос выберите имя созданного макроса и нажмите на кнопку Изменить,"]
["     после чего на экране появится окно программы Microsoft Visual Basic for Applications с внутренним окном"]
["     модуля с созданным макросом и на панели задач появится кнопка программы"]
["                                                                                                                  Microsoft Visual Basic for Applications"]
["     ( для возврата в окно Exсel можно нажать на кнопку программы Excel на панели задач"]
["       или в окне Microsoft Visual Basic for Applications нажать на кнопку View Microsoft Excel"]
["                                                                                                                          на панели инструментов Standard,"]
["       или в том же окне нажать сочетание клавиш Alt+F11 );"]
[]
[]
["   – найдите и удалите группы инструкций, появляющиеся при активизации окна файла с заданием, "]
["     перемещениях и прочих действиях в файле с заданием и затем снова активизации окна Вашего"]
["     файла – такие группы начинаются с инструкции вида Windows(\"И2_лр26_2013.xls\").Activate,"]
["                                      заканчиваются инструкцией вида Windows(\"Фамилия.xlsm\").Activate,"]
["                                                        или инструкцией вида Windows(\"Фамилия.xlsx).Activate,"]
["                                                        или инструкцией вида Windows(\"Фамилия.xls).Activate,"]
["                                                                                                        где Фамилия – имя Вашего файла,"]
["     и включают в себя все промежуточные инструкции, находящиеся между этими двумя инструкциями;"]
[]
["   – удалите инструкции, появляющиеся при выполнении в окне Вашего файла различных перемещений"]
["     и прокруток – такие инструкции включают в себя текстовый фрагмент Scroll"]
[]
["   – удалите инструкции, появляющиеся при изменении размеров окна Вашего файла"]
["     и при изменении расположения окна Вашего файла на экране – такие инструкции имеют вид"]
["                         ActiveWindow.WindowState = "]
["                                   или вид "]
["                         With ActiveWindow"]
["                             .Width = "]
["                             .Height = "]
["                         End With  "]
["                                   или вид "]
["                         With ActiveWindow"]
["                             .Top = "]
["                             .Left = "]
["                         End With  "]
["     причем если в первой строке группы инструкций после With следует не ActiveWindow, "]
["     а что-нибудь другое, то такие группы инструкций удалять нельзя, так как такие группы "]
["     не имеют отношения к изменению размеров и перемещению окна Вашего файла, а связаны"]
["     чаще всего с форматированием ячеек, правильно выполняемым при записи макроса;"]
[]
["   – удалите инструкции, появляющиеся при изменении размеров и расположения окна Excel на экране"]
["     и внутренних окон этого окна – такие инструкции имеют виды"]
["                         Application.Width = "]
["                         Application.Height = "]
["                         Application.Left = "]
["                         Application.Top = "]
["                         Application.WindowState ="]
["                         Windows.Arrange ArrangeStyle:="]
[]
["   – удалите прочие излишние инструкции, которые чаще всего появляются "]
["     при ненужных переходах с ячейки на ячейку на текущем листе Вашего файла, "]
["     при ненужных выделениях диапазонов на текущем листе Вашего файла,"]
["     при ненужных переходах между листами Вашего файла и т.п.."]
[]
["   ВНИМАНИЕ! При возникновении сомнений в необходимости удаления какой-либо инструкции"]
["                      ее можно преобразовать в комментарий ( закомментировать ), вставив в начало строки "]
["                      с этой инструкцией символ ' ( если инструкция состоит из нескольких строк, то следует "]
["                      закомментировать все строки этой инструкции ), после чего при выполнении макроса "]
["                      такая инструкция выполняться не будет. Если в дальнейшем выяснится, что эта "]
["                      инструкция все-таки нужна, то ее можно раскомментировать, удалив из соответствующей"]
["                      строки символ ' "]
[]
["   ВНИМАНИЕ! Если макрос был ошибочно создан не в Вашем, а в другом файле ( например, в файле "]
["                      с заданием ), то можно скопировать модуль с этим макросом в Ваш файл, а затем удалить"]
["                      этот модуль в другом файле, для чего можно: "]
["                      – перейти в модуль с созданным макросом ( см. выше ); "]
["                      – в появившемся окне программы Microsoft Visual Basic for Applications активизировать"]
["                        внутреннее окно Project - VBAProject ( если окно Project - VBAProject отсутствует, то открыть его"]
["                                                               нажатием на кнопку Project Explorer на панели инструментов Standard,"]
["                                                        или выполнением команд меню ViewрProject Explorer,"]
["                                                        или нажатием сочетания клавиш Ctrl+R );"]
["                      – в окне Project - VBAProject перетащить указателем \"мыши\" модуль ( Module1, Module2"]
["                        и т.д. ) в Ваш файл;"]
["                      – удалить модуль в другом файле, используя в контекстном меню этого модуля "]
["                        команду Remove Module… и не выполняя при этом экспорт модуля ( export Module.. );"]
["                      – из созданного макроса удалить инструкции, которые могут появляться в макросе до"]
["                        активизации окна Вашего файла, находятся непосредственно под строкой со словом Sub"]
["                        и заканчиваются первой сверху в макросе инструкцией активизации окна Вашего файла,"]
["                        имеющей вид Windows(\"Фамилия.xlsm\").Activate,"]
["                                 или вид Windows(\"Фамилия.xlsx\").Activate,"]
["                                 или вид Windows(\"Фамилия.xls\").Activate,"]
["                        где Фамилия – имя Вашего файла."]
[]
["   ВНИМАНИЕ! Если запись макроса не была своевременно остановлена после выполнения последнего "]
["                      действия из заданной для этого макроса последовательности действий, то следует все-таки "]
["                      остановить запись макроса, перейти в модуль с созданным макросом ( см. выше ) "]
["                      и в этом модуле найти и удалить инструкции, появившиеся после выполнения последнего  "]
["                      действия из заданной для этого макроса последовательности действий, до строки со словами"]
["                      End Sub "]
[]
[]
["7. В модуле с созданным макросом вставьте комментарии для действий (2), (4), (5), (6), (9), (12), (13), "]
["   выполняемых этим макросом ( причем комментарий может располагаться как в конце строки "]
["   с инструкцией, так и в отдельной строке, если этот комментарий относится к группе инструкций ):"]
[]
["   – перейдите в модуль с созданным макросом, для чего "]
["     нажмите на кнопку Макросы, добавленную на панель быстрого доступа"]
["     ( доступную также на ленте на добавленной вкладке РАЗРАБОТЧИК в группе Код"]
["                                          или на вкладке ВИД в группе Макросы"]
["                                                                            при раскрытии списка кнопки Макросы ),"]
["     или нажмите сочетание клавиш Alt+F8,"]
["     затем в появившемся окне Макрос выберите имя созданного макроса и нажмите на кнопку Изменить,"]
["     после чего на экране появится окно программы Microsoft Visual Basic for Applications с внутренним окном"]
["     модуля с созданным макросом и на панели задач появится кнопка программы"]
["                                                                                                                  Microsoft Visual Basic for Applications"]
["     ( для возврата в окно Exсel можно нажать на кнопку программы Excel на панели задач"]
["       или в окне Microsoft Visual Basic for Applications нажать на кнопку View Microsoft Excel"]
["                                                                                                                          на панели инструментов Standard,"]
["       или в том же окне нажать сочетание клавиш Alt+F11 );"]
[]
["   – вставьте комментарии в те строки созданного макроса, которые находятся ниже строки со словом Sub "]
["     и выше строки со словами End Sub, руководствуясь следующими правилами: "]
["         – установите курсор в конце той строки созданного макроса, для которой будет вставлен комментарий"]
["           ( это краткое описание того, что выполняет расположенная в этой строке инструкция языка Visual Basic ),"]
["           причем, если инструкция состоит из нескольких строк, то курсор должен быть установлен "]
["           в конце последней строки инструкции ( если этого не сделать, то цвет шрифта строки может стать "]
["           красным ); "]
["         – введите символ ' и затем текст комментария, ориентируясь по смыслу элементов инструкции и их"]
["           названиям на английском языке ( при вводе текста комментария можно копировать через буфер обмена "]
["           в модуль с макросом соответствующие тексты из пп.8 и 5 или с листа VBA - инструкции и комментарии"]
["           и затем при необходимости редактировать эти тексты );"]
["         – для завершения набора текста комментария перейдите к другой строке макроса только нажатием"]
["           на клавиши перехода вверх или вниз по тексту ( й или к ), причем не рекомендуется нажимать "]
["           клавишу Enter ( при ошибочном нажатии этой клавиши, а также в других ситуациях, возникших "]
["           из-за ошибочных действий, можно отменить эти действия"]
["                                                                              использованием в окне Microsoft Visual Basic for Applications"]
["           кнопки Undo Typing на панели инструментов Standard или сочетания клавиш Ctrl+Z ) – при "]
["           правильном завершении набора текста комментария цвет его шрифта должен измениться на зеленый;"]
["         – комментарий может занимать и всю строку, тогда такая строка должна начинаться с символа '"]
[]
["   ВНИМАНИЕ! При необходимости изменения имени созданного макроса это можно сделать в строке "]
["                      со словом Sub в модуле с этим макросом."]
[]
[]
["   8. Для действия (12 – сортировка ) выполните замену инструкций, выполняющих это действие,"]
["   на соответствующую инструкцию, приведенную здесь ниже"]
["   ( так как эти инструкции, созданные при записи макроса в этой версии пакета Microsoft Office,"]
["   выполняются неправильно при увеличении числа строк исходного списка на листе Склад ):"]
["    Selection.Sort Key1:=Range(\"C6\"), Order1:=xlAscending, Header:=xlGuess, _"]
["        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 'Сортировка"]
[]
[]
["          ОТЧЕТ О ВЫПОЛНЕНИИ РАБОТЫ"]
[]
["9. Cледует продемонстрировать выполнение созданного макроса"]
["   в обычном ( автоматическом ) режиме и по шагам. "]

{"sheet":"VBA - инструкции и комментарии","index":1,"n_rows":47,"n_cols":1,"rows_kept":47}
["    ActiveCell.FormulaR1C1 = \"=TODAY()\" 'СЕГОДНЯ()"]
[]
["    ActiveCell.FormulaR1C1 = \"Расчет итоговых сумм по группам товаров\" 'Ввод (заголовка)"]
[]
["    ActiveSheet.Paste 'Вставка содержимого буфера обмена"]
[]
["    Cells.Select 'Выделение всех ячеек"]
[]
["    Range(\"A1\").Select 'Текущая ячейка A1"]
[]
["    Range(\"F7:F65536\").Select 'Выделение диапазона F7:F65536"]
["    Range(\"F7:F1048576\").Select 'Выделение диапазона F7:F1048576"]
[]
["    Rows(\"1:5\").Select 'Выделение строк с 1 по 5"]
[]
["    Selection.Clear 'Очистка (полная) выделенных ячеек"]
[]
["    Selection.ClearContents 'Очистка содержимого (Delete)"]
[]
["    Selection.ClearFormats 'Очистка форматов"]
[]
["    Selection.ClearOutline 'Удаление структуры"]
[]
["    Selection.Copy 'Копирование выделенных ячеек в буфер обмена"]
[]
["    Selection.NumberFormat = \"dd/mm/yy;@\" 'Форматирование в формате даты"]
[]
["    Selection.Sort Key1:=Range(\"C6\"), Order1:=xlAscending, Header:=xlGuess, _"]
["        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 'Сортировка"]
[]
["    Selection.Subtotal GroupBy:=3, Function:=xlSum, TotalList:=Array(10, 13), _"]
["        Replace:=True, PageBreaks:=False, SummaryBelowData:=True 'Подведение итогов"]
[]
["    Sheets(\"Склад\").Select 'Текущий лист Склад (или Переход на лист Склад)"]
[]
["    With Selection.Font 'Форматирование"]
["        .Name = \"Arial Cyr\""]
["        .FontStyle = \"полужирный\""]
["        .Size = 12"]
["        .Strikethrough = False"]
["        .Superscript = False"]
["        .Subscript = False"]
["        .OutlineFont = False"]
["        .Shadow = False"]
["        .Underline = xlUnderlineStyleNone"]
["        .ColorIndex = 5"]
["    End With"]