{"text_format":"3","workbook":"xlsx","n_sheets":7,"sheets":["И2_лр29","Реквизиты","ПП","VBA - инструкции и комментарии","VBA - переменные","VBA - переходы","VBA - циклы"],"not_rendered":{"macros":1,"defined_names":1},"read":"whole","date_system":"1900"}

{"sheet":"И2_лр29","index":0,"n_rows":290,"n_cols":1,"rows_kept":290}
["                                      Лабораторная работа № 29 по дисциплине \"Информатика модуль 2\""]
[]
["          Тема: Создание макросов с использованием условных переходов. "]
[]
[]
["          ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ФАЙЛ"]
[]
["1. Скопируйте Модуль29 с макросами, выполняющими вспомогательные действия,"]
["   из файла с заданием в Ваш файл, для чего:"]
[]
["   – в окне Excel откройте окно программы Microsoft Visual Basic for Applications"]
["     или нажатием на кнопку Visual Basic, добавленную на панель быстрого доступа,"]
["                               ( доступную также на ленте на добавленной вкладке РАЗРАБОТЧИК в группе Код ),"]
["     или нажатием сочетания клавиш Alt+F11"]
["     или переходом в модуль с одним из макросов; "]
[]
["  – в появившемся окне программы Microsoft Visual Basic for Applications"]
["    активизируйте внутреннее окно Project - VBAProject"]
["    ( если окно Project - VBAProject отсутствует, то откройте его"]
["      или нажатием на кнопку Project Explorer на панели инструментов Standard,"]
["      или выполнением команд меню ViewрProject Explorer,"]
["      или нажатием сочетания клавиш Ctrl+R );"]
[]
["  – в окне Project - VBAProject перетащите при нажатой левой кнопке \"мыши\" Модуль29 из файла"]
["     с заданием в Ваш файл ( если Модуль29 не виден в окне Project - VBAProject, то в этом окне разверните"]
["    структуру Вашего файла и папки Modules в Вашем файле нажатием на знак + левее значков Вашего файла"]
["    и папки Modules или двойным \"щелчком\" левой кнопки \"мыши\" на значках Вашего файла и этой папки )."]
[]
[]
["2. Внесите изменения в Ваш файл: "]
[]
["   – скопируйте из файла с заданием листы Реквизиты и ПП в Ваш файл на место перед листом Склад;"]
[]
["   – в Вашем файле на листе Счет-фактура удалите по Вашему усмотрению 2 строки с данными о товарах"]
["     внутри счет-фактуры;"]
[]
["   – в Вашем файле на листе Реквизиты в списке с реквизитами в столбце с заголовком Организация"]
["     поместите название Вашего предприятия в верхнюю пустую ячейку ( в этом списке Вашему"]
["     предприятию и каждому поставщику должна соответствовать одна строка со следующими реквизитами: "]
["     Организация, ИНН, КПП, Сч. №, Банк, Город, БИК, Сч. банка № );"]
[]
["   – в Вашем файле на листе Реквизиты в ячейках со словом Поставщик замените слово Поставщик"]
["     Вашей фамилией на русском языке;"]
[]
["   – активизируйте окно Вашего файла и однократно выполните макрос Реквизиты_плательщика"]
["     из Модуля29 для копирования значений реквизитов Вашего предприятия ( плательщика денег"]
["     за полученные товары ) с листа Реквизиты на лист ПП Вашего файла в соответствующие поля"]
["     Платежного Поручения."]
[]
[]
["   ВНИМАНИЕ! При выполнении дальнейших действий ЗАПРЕЩАЕТСЯ на листе ПП изменять ширину "]
["                      столбцов и высоту строк, а также выполнять любые другие действия, связанные "]
["                      с форматированием трафарета Платежного Поручения, кроме действий, указанных "]
["                      в задании."]
[]
[]
["          СОЗДАНИЕ И РЕДАКТИРОВАНИЕ МАКРОСА С ИМЕНЕМ ПП"]
[]
["3. Создайте в Вашем файле макрос-заготовку с именем ПП,"]
["   выполняющий переход с любого другого листа на лист Счет-фактура, "]
["   и затем перейдите в модуль с этим макросом и в этом макросе вставьте непосредственно после"]
["   инструкции перехода на лист Счет-фактура инструкцию перехода на лист Реквизиты"]
["   ( в этот макрос затем будут вставлены инструкции,"]
["   которые не могут быть записаны в модуль Visual Basic при записи макроса в окне Excel )."]
[]
[]
["4. В модуле с макросом ПП в этом макросе"]
["     непосредственно за инструкцией перехода на лист Счет-фактура вставьте инструкцию, "]
["     выполняющую присвоение переменной poluch наименования поставщика из ячейки B3"]
["     ( получателя денег за поставленные товары ) "]
["    poluch = Range(\"B3\") 'Присвоение переменной poluch наименования поставщика из B3"]
["     для возможности выполнения в дальнейшем проверки совпадения наименования получателя на листе "]
["     Реквизиты с наименованием поставщика ( получателя денег за поставленные товары ), указанного"]
["     на листе Счет-фактура."]
[]
[]
["          ПРИМЕРЫ ИНСТРУКЦИЙ УСЛОВНЫХ ПЕРЕХОДОВ VBA"]
[]
["5. Познакомьтесь со следующими примерами инструкций условных переходов VBA, "]
["   выполняющих различные действия в зависимости от условий, указанных в этих инструкциях"]
["   ( инструкции условных переходов не могут быть записаны в модуль Visual Basic при выполнении "]
["   последовательности действий в окне Excel, а могут быть вставлены только непосредственно "]
["   в модуль ):"]
[]
["    If условие Then 'Если условие истинно, то"]
["       [инструкции] 'выполняются [инструкции],"]
["    End If          'иначе ничего не выполняется"]
[]
["    If условие Then  'Если условие истинно, то"]
["       [инструкции1] 'выполняются [инструкции1],"]
["    Else             'иначе"]
["       [инструкции2] 'выполняются [инструкции2]"]
["    End If"]
[]
[]
["          РЕДАКТИРОВАНИЕ МАКРОСА С ИМЕНЕМ ПП"]
[]
["6. Перейдите в модуль с макросом ПП и затем внутри этого макроса непосредственно за инструкцией,"]
["   при выполнении которой становится текущим лист Реквизиты, вставьте следующую инструкцию "]
["   условного перехода "]
["    If условие Then"]
["       [инструкции1]"]
["    Else"]
["       [инструкции2]"]
["    End If"]
["   ( для этого можно скопировать соответствующие строки из пп.5,6 или с листа VBA - переходы "]
["   из файла с заданием )."]
[]
[]
["7. В макросе ПП во вставленной инструкции условного перехода:"]
[]
["   – в качестве условия вставьте ActiveCell = poluch "]
["     для проверки совпадения находящегося в текущей ячейке ( ActiveCell ) наименования получателя "]
["     на листе Реквизиты с наименованием поставщика ( получателя денег за поставленные товары ), "]
["     значение которого присвоено переменной poluch;"]
[]
["   – замените строку "]
["       [инструкции1]"]
["     на строки с указанным ниже порядком расположения с вызовами макросов,"]
["     находящихся в Модуле29 и предназначенных для заполнения на листе ПП Вашего файла"]
["     соответствующих полей Платежного Поручения и для выполнения вспомогательных действий,"]
["     связанных с преобразованием суммы оплаты и формированием номера Платежного Поручения: "]
["       Реквизиты_получателя 'Значения этих реквизитов с листа Реквизиты на лист ПП "]
["       Оплата_поставки 'Сумма оплаты с листа Счет-фактура на лист ПП и ввод данных"]
["       Преобразования_суммы 'Рубли прописью, копейки цифрами"]
["       Номер_ПП 'Автоматическое формирование номера Платежного Поручения на листе ПП"]
[]
["   – замените строку "]
["       [инструкции2]"]
["     на строку с вызовом макроса "]
["       Очистка_ПП 'Очистка реквизитов на листе ПП (кроме реквизитов плательщика) "]
[]
[]
["          ПРОВЕРКА ВЫПОЛНЕНИЯ И РЕДАКТИРОВАНИЕ МАКРОСА С ИМЕНЕМ ПП"]
[]
["8. Проверьте выполнение макроса ПП, для чего:"]
[]
["   – в Вашем файле на листе Реквизиты сделайте активной ячейку, содержащую наименование "]
["     Поставщика 4, и выполните макрос ( при правильной работе макроса платежное поручение на листе ПП"]
["     должно быть дозаполнено, включая преобразованную Сумму оплаты и Сумму прописью );"]
[]
["   – в Вашем файле на листе Реквизиты в столбце с наименованием Организации сделайте активной"]
["     ячейку, не содержащую наименование Поставщика 4, и выполните макрос ( при правильной работе"]
["     макроса платежное поручение на листе ПП должно быть частично очищено )."]
[]
[]
["9. В макросе ПП измените вид инструкции условного перехода на вид "]
["    If условие Then 'Если условие истинно, то"]
["       [инструкции] 'выполняются [инструкции],"]
["    End If          'иначе ничего не выполняется"]
["   без изменений результатов выполнения макроса, для чего:"]
[]
["   – строку с вызовом макроса "]
["       Очистка_ПП 'Очистка реквизитов на листе ПП (кроме реквизитов плательщика) "]
["     переместите в положение непосредственно перед инструкцией перехода на лист Реквизиты;"]
[]
["   – строку "]
["    Else"]
["     удалите. "]
[]
[]
["10. Снова проверьте выполнение макроса ПП, для чего:"]
[]
["   – в Вашем файле на листе Реквизиты сделайте активной ячейку, содержащую наименование "]
["     Поставщика 4, и выполните макрос ( при правильной работе макроса платежное поручение на листе ПП"]
["     должно быть дозаполнено, включая преобразованную Сумму оплаты и Сумму прописью );"]
[]
["   – в Вашем файле на листе Реквизиты в столбце с наименованием Организации сделайте активной"]
["      ячейку, не содержащую наименование Поставщика 4, и выполните макрос ( при правильной работе"]
["      макроса платежное поручение на листе ПП должно быть частично очищено )."]
[]
[]
["11. Внесите изменения в макрос ПП с использованием инструкции цикла так, чтобы проверка совпадения"]
["   наименования получателя на листе Реквизиты с наименованием поставщика – получателя денег "]
["   за поставленные товары на листе Счет-фактура и последующее заполнение платежного поручения "]
["   на листе ПП выполнялись бы автоматически, для чего перейдите в модуль с макросом ПП и затем"]
["    в этом макросе:"]
[]
["   – непосредственно за инструкцией перехода на лист Реквизиты вставьте инструкцию, при выполнении"]
["     которой становится текущей ячейка A2 "]
["    Range(\"A2\").Select 'Текущая ячейка A2"]
["     ( это ячейка, с которой будет начинаться в направлении сверху вниз проверка совпадения "]
["     наименования получателя на листе Реквизиты с наименованием поставщика, значение которого"]
["     присвоено переменной poluch )"]
["     и затем непосредственно за только что вставленной инструкцией вставьте одну из следующих "]
["     инструкций цикла по Вашему усмотрению"]
[]
["    Do While ActiveCell <> \"\""]
["       [инструкции]"]
["       Sheets(\"Реквизиты\").Select 'Переход на лист Реквизиты"]
["       ActiveCell.Offset(1, 0).Range(\"A1\").Select 'Переход вниз на 1 ячейку"]
["    Loop"]
["    'Этот цикл повторяется (Do), пока (While) содержимое текущей ячейки (ActiveCell)"]
["    'не равно (<>) значению \"\" (содержимому пустой ячейки)."]
["    'Условие выхода из цикла проверяется перед каждым выполнением цикла."]
["    'При каждом выполнении этого цикла выполняются [инструкции],"]
["    'после чего происходит переход на лист Реквизиты"]
["    'и на этом листе меняется адрес текущей ячейки при переходе вниз на 1 ячейку"]
["    '(Offset(1, 0))."]
["    'Если условие выхода из цикла выполнилось, то происходит переход к инструкции,"]
["    'находящейся ниже строки с Loop."]
[]
["    Do Until ActiveCell = \"\""]
["       [инструкции]"]
["       Sheets(\"Реквизиты\").Select 'Переход на лист Реквизиты"]
["       ActiveCell.Offset(1, 0).Range(\"A1\").Select 'Переход вниз на 1 ячейку"]
["    Loop"]
["    'Этот цикл повторяется (Do) до тех пор (Until), пока содержимое текущей ячейки "]
["    '(ActiveCell) не окажется равным (=) значению \"\" (содержимому пустой ячейки)."]
["    'Условие выхода из цикла проверяется перед каждым выполнением цикла."]
["    'При каждом выполнении этого цикла выполняются [инструкции],"]
["    'после чего происходит переход на лист Реквизиты"]
["    'и на этом листе меняется адрес текущей ячейки при переходе вниз на 1 ячейку"]
["    '(Offset(1, 0))."]
["    'Если условие выхода из цикла выполнилось, то происходит переход к инструкции,"]
["    'находящейся ниже строки с Loop."]
[]
["   – внутрь инструкции цикла на место строки "]
["       [инструкции]"]
["     переместите инструкцию условного перехода из этого же макроса;"]
[]
["   – внутри инструкции условного перехода непосредственно перед строкой"]
["    End If"]
["     вставьте строку с инструкцией"]
["       Exit Do 'Выход из цикла Do...Loop"]
["     выполняющей выход из цикла ( если выполнение цикла следует завершить ) на инструкцию,"]
["     следующую за Loop "]
[]
["   – непосредственно перед инструкцией перехода на лист Счет-фактура вставьте инструкцию, "]
["     выполняющую вызов макроса Реквизиты_плательщика"]
["     ( плательщика денег за поставленные товары ) из Модуля29"]
["    Реквизиты_плательщика 'Значения этих реквизитов с листа Реквизиты на лист ПП"]
["     для гарантированного заполнения на листе ПП Вашего файла соответствующих полей"]
["     Платежного Поручения при каждом выполнении макроса ПП."]
[]
["   ( После внесенных изменений макрос ПП при своем выполнении должен: "]
["     заполнить в Платежном Поручении на листе ПП реквизиты плательщика; "]
["     очистить в Платежном Поручении на листе ПП часть реквизитов, кроме реквизитов плательщика;"]
["     затем, при выполнении цикла переходя сверху вниз по ячейкам в столбце "]
["   с наименованиями организаций на листе Реквизиты, сравнивать содержимое этих ячеек "]
["   с наименованием поставщика, взятого с листа Счет-фактура, и, при совпадении этих наименований,"]
["   дозаполнить платежное поручение на листе ПП и выйти из цикла сравнения наименований "]
["   организаций;"]
["     если при сравнении наименований организаций совпадения не обнаружится, то цикл завершится"]
["   после перехода на пустую ячейку в столбце с наименованиями организаций на листе Реквизиты )."]
[]
[]
["          СОЗДАНИЕ ОБЪЕКТА ( ФИГУРЫ ) ДЛЯ ЗАПУСКА МАКРОСА С ИМЕНЕМ ПП"]
[]
["12. В левом верхнем углу листа Склад правее поля для запуска макроса Счет-фактура создайте"]
["   маленькую фигуру, используя для этого на ленте на вкладке ВСТАВКА в группе Иллюстрации"]
["                                                                                                                                                      кнопку Фигуры,"]
["   и затем ( с использованием команд контекстного меню в области этой фигуры "]
["                                              и на ленте в разделе СРЕДСТВА РИСОВАНИЯ элементов вкладки ФОРМАТ )"]
["                введите в эту фигуру текст Платежное поручение "]
["                измените размеры и вид этой фигуры по Вашему усмотрению,"]
["                назначьте этой фигуре макрос ПП, "]
["   и в дальнейшем, нажимая эту фигуру, используйте ее для выполнения макроса ПП.  "]
[]
[]
["          ПРОВЕРКА ВЫПОЛНЕНИЯ МАКРОСА С ИМЕНЕМ ПП"]
[]
["13. Проверьте выполнение макроса ПП, изменяя наименование поставщика на листе Счет-фактура: "]
[]
["   – чтобы его наименование не совпало ни с одним названием организации на листе Реквизиты; "]
[]
["   – чтобы его наименование совпало с названием какой-либо другой организации на листе Реквизиты. "]
[]
[]
["          СОХРАНЕНИЕ ИЗМЕНЕНИЙ В ФАЙЛЕ"]
[]
["14. Сделайте активным окно Вашего файла и сохраните результаты работы одним из следующих "]
["   способов: "]
["     или нажатием на кнопку Сохранить на панели быстрого доступа,"]
["     или нажатием сочетания клавиш Ctrl+S,"]
["     или после открытия вкладки ФАЙЛ командой Сохранить в левой части окна."]
[]
[]
["          ОТЧЕТ О ВЫПОЛНЕНИИ РАБОТЫ"]
[]
["15. На экране должны находиться окна: "]
["   – окно Вашего файла с текущим листом Склад с видимой фигурой для запуска макроса ПП;"]
["   – открытое окно модуля Microsoft Visual Basic for Applications с макросом ПП."]
[]
[]
["          СОХРАНЕНИЕ ИЗМЕНЕНИЙ В ФАЙЛЕ И ЕГО КОПИРОВАНИЕ"]
[]
["16. После отчета о выполнении работы завершите работу с программой Excel с сохранением изменений "]
["   в Вашем файле и скопируйте Ваш файл в Вашу папку Personal на студенческом файловом сервере"]
["   и ( или ), если это возможно, на Вашу флэшку."]

{"sheet":"Реквизиты","index":1,"n_rows":6,"n_cols":8,"rows_kept":6}
["Организация","ИНН","КПП","Сч. №","Банк","Город","БИК","Сч. банка №"]
[null,"2504000440 ","254001001","40702800000001467040 ","АКБ Дальневосточный банк","Владивосток","040507700 ","30101800000700161900"]
["Поставщик 2","2536025582 ","254001001","40702810800000031602 ","АКБ Приморье","Владивосток","040507792 ","30101810800000000792 "]
["Поставщик 4","2540000004 ","254001001","40702800000000090404 ","АБ Инкомбанк\"Приморский\"","Владивосток","040507704 ","30101811100700161904 "]
["Поставщик 3","2536000223 ","254001001","40702810000000085203 ","Дальрыббанк","Владивосток","040507703 ","30101810600000000703 "]
["Поставщик 1","2504000011 ","254001001","40702810600000000061 ","АКБ Примсоцбанк","Владивосток","040507801 ","30101810200000000801 "]

{"sheet":"ПП","index":2,"n_rows":36,"n_cols":15,"rows_kept":36,"merged":[[0,0,0,2],[0,4,0,5],[0,14,0,16],[1,0,1,2],[1,4,1,5],[3,6,3,8],[3,10,3,13],[4,6,4,8],[4,10,4,13],[22,14,22,16],[25,0,25,3],[25,4,25,5],[25,7,25,8],[25,9,25,12],[25,13,25,14],[25,15,25,16]]}
[{"$nulls":14},"0401060"]
["Поступ. в банк плат.",{"$nulls":3},"Списано со сч. плат."]
[]
["ПЛАТЕЖНОЕ  ПОРУЧЕНИЕ  №",{"$nulls":9},"электронно"]
[{"$nulls":6},"Дата",{"$nulls":3},"Вид платежа"]
["Сумма"]
["прописью"]
["ИНН",{"$nulls":3},"КПП",{"$nulls":3}," Сумма"]
[]
[]
[{"$nulls":8}," Сч. №"]
[]
["Плательщик"]
[{"$nulls":8}," БИК"]
[{"$nulls":8}," Сч. №"]
["Банк плательщика"]
[{"$nulls":8}," БИК"]
[{"$nulls":8}," Сч. №"]
["Банк получателя"]
["ИНН",{"$nulls":3},"КПП",{"$nulls":3}," Сч. №"]
[]
[]
[{"$nulls":8}," Вид оп.",null,"01"," Срок плат."]
[{"$nulls":8}," Наз. пл.",null,null," Очер. плат."]
["Получатель",{"$nulls":7}," Код",null,null," Рез. поле"]
[]
[]
[]
[]
[]
[]
["Назначение платежа"]
[{"$nulls":6},"   Подписи",{"$nulls":5},"Отметки банка"]
[]
[]
[{"$nulls":3},"М.П."]

{"sheet":"VBA - инструкции и комментарии","index":3,"n_rows":60,"n_cols":1,"rows_kept":60}
["    ActiveCell.FormulaR1C1 = \"=TODAY()\" 'СЕГОДНЯ()"]
[]
["    ActiveCell.FormulaR1C1 = \"Расчет итоговых сумм по группам товаров\" 'Ввод (заголовка)"]
[]
["    ActiveCell.Offset(0, 1).Range(\"A1\").Select 'Переход вправо на 1 ячейку"]
["    ActiveCell.Offset(0, -1).Range(\"A1\").Select 'Переход влево на 1 ячейку"]
["    ActiveCell.Offset(0, 3).Range(\"A1\").Select 'Переход вправо на 3 ячейки"]
["    ActiveCell.Offset(0, -3).Range(\"A1\").Select 'Переход влево на 3 ячейки"]
["    ActiveCell.Offset(1, 0).Range(\"A1\").Select 'Переход вниз на 1 ячейку"]
["    ActiveCell.Offset(-1, 0).Range(\"A1\").Select 'Переход вверх на 1 ячейку"]
["    ActiveCell.Offset(5, 0).Range(\"A1\").Select 'Переход вниз на 5 ячеек"]
["    ActiveCell.Offset(-4, 0).Range(\"A1\").Select 'Переход вверх на 4 ячейки"]
["    ActiveCell.Offset(5, 3).Range(\"A1\").Select 'Переход вниз на 5 и вправо на 3 ячейки"]
["    ActiveCell.Offset(4, -1).Range(\"A1\").Select 'Переход вниз на 4 и влево на 1 ячейку"]
["    ActiveCell.Offset(-5, 3).Range(\"A1\").Select 'Переход вверх на 5 и вправо на 3 ячейки"]
["    ActiveCell.Offset(-4, -1).Range(\"A1\").Select 'Переход вверх на 4 и влево на 1 ячейку"]
[]
["    Range(\"A1\").Select 'Текущая ячейка A1"]
[]
["    Range(\"F7:F65536\").Select 'Выделение диапазона F7:F65536"]
[]
["    Rows(\"1:5\").Select 'Выделение строк с 1 по 5"]
[]
["    Selection.Clear 'Очистка (полная) выделенных ячеек"]
[]
["    Selection.ClearContents 'Очистка содержимого (Delete)"]
[]
["    Selection.ClearFormats 'Очистка форматов"]
[]
["    Selection.ClearOutline 'Удаление структуры"]
[]
["    Selection.Copy 'Копирование выделенных ячеек в буфер обмена"]
[]
["    Selection.End(xlDown).Select 'Перейти вниз на край области с данными"]
[]
["    Selection.NumberFormat = \"dd/mm/yy\" 'Форматирование в формате даты"]
[]
["    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _"]
["        False, Transpose:=False 'Вставка только значений из буфера обмена"]
[]
["    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"]

{"sheet":"VBA - переменные","index":4,"n_rows":12,"n_cols":1,"rows_kept":12}
["    ActiveCell = n 'Присвоение текущей ячейке значения переменной n"]
[]
["    ActiveCell.Offset(0, 1) = postav 'Присвоение ячейке, находящейся правее на 1 ячейку"]
["                           '(Offset(0, 1))от текущей ячейки, значения переменной postav"]
[]
["    n = 0 'Присвоение переменной n значения, равного 0"]
[]
["    n = ActiveCell 'Присвоение переменной n значения из текущей ячейки"]
[]
["    n = n + 1 'Увеличение значения переменной n на 1"]
[]
["    postav = Range(\"B3\") 'Присвоение переменной postav значения из ячейки B3"]

{"sheet":"VBA - переходы","index":5,"n_rows":9,"n_cols":1,"rows_kept":9}
["    If условие Then 'Если условие истинно, то"]
["       [инструкции] 'выполняются [инструкции],"]
["    End If          'иначе ничего не выполняется"]
[]
["    If условие Then  'Если условие истинно, то"]
["       [инструкции1] 'выполняются [инструкции1],"]
["    Else             'иначе"]
["       [инструкции2] 'выполняются [инструкции2]"]
["    End If"]

{"sheet":"VBA - циклы","index":6,"n_rows":53,"n_cols":1,"rows_kept":53}
["    Do Until ActiveCell = \"Всего к оплате\""]
["       [инструкции]"]
["    Loop"]
["    'Этот цикл повторяется (Do) до тех пор (Until), пока содержимое текущей ячейки "]
["    '(ActiveCell) не окажется равным (=) значению \"Всего к оплате\"."]
["    'Условие выхода из цикла проверяется перед каждым выполнением цикла."]
["    'При каждом выполнении этого цикла выполняются [инструкции], при выполнении которых"]
["    'может меняться адрес текущей ячейки или(и) ее содержимое."]
["    'Если условие выхода из цикла выполнилось, то происходит переход к инструкции,"]
["    'находящейся ниже строки с Loop."]
[]
["    Do Until ActiveCell = \"\""]
["       [инструкции]"]
["       Sheets(\"Реквизиты\").Select 'Переход на лист Реквизиты"]
["       ActiveCell.Offset(1, 0).Range(\"A1\").Select 'Переход вниз на 1 ячейку"]
["    Loop"]
["    'Этот цикл повторяется (Do) до тех пор (Until), пока содержимое текущей ячейки "]
["    '(ActiveCell) не окажется равным (=) значению \"\" (содержимому пустой ячейки)."]
["    'Условие выхода из цикла проверяется перед каждым выполнением цикла."]
["    'При каждом выполнении этого цикла выполняются [инструкции],"]
["    'после чего происходит переход на лист Реквизиты"]
["    'и на этом листе меняется адрес текущей ячейки при переходе вниз на 1 ячейку"]
["    '(Offset(1, 0))."]
["    'Если условие выхода из цикла выполнилось, то происходит переход к инструкции,"]
["    'находящейся ниже строки с Loop."]
[]
["    Do While ActiveCell <> \"Всего к оплате\""]
["       [инструкции]"]
["    Loop"]
["    'Этот цикл повторяется (Do), пока (While) содержимое текущей ячейки (ActiveCell)"]
["    'не равно (<>) значению \"Всего к оплате\"."]
["    'Условие выхода из цикла проверяется перед каждым выполнением цикла."]
["    'При каждом выполнении этого цикла выполняются [инструкции], при выполнении которых"]
["    'может меняться адрес текущей ячейки или(и) ее содержимое."]
["    'Если условие выхода из цикла выполнилось, то происходит переход к инструкции,"]
["    'находящейся ниже строки с Loop."]
[]
["    Do While ActiveCell <> \"\""]
["       [инструкции]"]
["       Sheets(\"Реквизиты\").Select 'Переход на лист Реквизиты"]
["       ActiveCell.Offset(1, 0).Range(\"A1\").Select 'Переход вниз на 1 ячейку"]
["    Loop"]
["    'Этот цикл повторяется (Do), пока (While) содержимое текущей ячейки (ActiveCell)"]
["    'не равно (<>) значению \"\" (содержимому пустой ячейки)."]
["    'Условие выхода из цикла проверяется перед каждым выполнением цикла."]
["    'При каждом выполнении этого цикла выполняются [инструкции],"]
["    'после чего происходит переход на лист Реквизиты"]
["    'и на этом листе меняется адрес текущей ячейки при переходе вниз на 1 ячейку"]
["    '(Offset(1, 0))."]
["    'Если условие выхода из цикла выполнилось, то происходит переход к инструкции,"]
["    'находящейся ниже строки с Loop."]
[]
["       Exit Do 'Выход из цикла Do...Loop"]