Сохтани макросҳо дар Microsoft Excel

Pin
Send
Share
Send

Макросҳои Microsoft Excel метавонанд корҳоро бо ҳуҷҷатҳо дар муҳаррири ин ҷадвал ба таври назаррас суръат бахшанд. Ин ба воситаи автоматикунонии амалҳои такрорӣ, ки дар коди махсус сабт мешаванд, ба даст оварда мешавад. Биёед бубинем, ки чӣ гуна макросҳоро дар Excel эҷод кунед ва чӣ гуна онҳоро таҳрир кунед.

Усулҳои сабти макро

Макрос метавонад бо ду роҳ навишта шавад:

  • худкор;
  • бо дасти.

Бо истифода аз варианти аввал, шумо танҳо амалҳои муайянро дар барномаи Microsoft Excel, ки ҳоло иҷро карда истодаед, сабт мекунед. Сипас, шумо метавонед ин сабтро бозӣ кунед. Ин усул хеле осон аст ва дониши кодро талаб намекунад, вале татбиқи он дар амал хеле маҳдуд аст.

Сабти дастии макрос, баръакс, дониши барномасозиро талаб мекунад, зеро ин код дастӣ аз клавиатура аст. Аммо, рамзи дуруст навишташуда бо ин роҳ метавонад иҷрои равандҳоро ба таври назаррас суръат бахшад.

Сабти автоматии макро

Пеш аз оғози сабти автоматии макрос, шумо бояд макросҳоро дар Microsoft Excel фаъол кунед.

Баъд, ба замимаи "Таҳиягар" гузаред. Тугмаи "Сабти макро" -ро, ки дар тасма дар блоки абзорҳои "Код" ҷойгир аст, клик кунед.

Равзанаи сабти сабти макрос кушода мешавад. Дар ин ҷо шумо метавонед ягон номи макросро таъин кунед, агар пешфарз ба шумо мувофиқат накунад. Хӯроки асосии он аст, ки ном бо ҳарф сар мешавад, на бо рақам. Инчунин, унвон бояд фосила дошта наметавонад. Мо номи пешфарз - "Macro1" -ро гузоштем.

Дарҳол, агар хоҳед, шумо миёнабули клавиатураро таъин карда метавонед, вақте ки клик карда мешавад, макрос кушода мешавад. Калиди аввал бояд калиди Ctrl бошад ва корбар калиди дуввумро мустақилона муқаррар мекунад. Масалан, мо, ҳамчун намуна, калиди М-ро таъин кардем.

Баъд, шумо бояд муайян намоед, ки макро дар куҷо нигоҳ дошта мешавад. Бо нобаёнӣ, он дар ҳамон китоб нигоҳ дошта мешавад (файл), аммо агар шумо хоҳед, метавонед анборро дар китоби нав ё дар китоби алоҳидаи макросҳо насб кунед. Мо арзиши пешфарзро тарк хоҳем кард.

Дар майдони поёни танзимоти макрос шумо метавонед тавсифи макроеро, ки барои матн мувофиқ аст, гузоред. Аммо, ин зарур нест.

Вақте ки ҳамаи танзимотҳо ба анҷом расиданд, тугмаи "OK" -ро клик кунед.

Пас аз он, тамоми амалҳои шумо дар ин дафтарчаи кории Excel (файл) дар макрос сабт хоҳанд шуд, то даме ки шумо сабтро қатъ накунед.

Масалан, амали соддаи арифметикаро менависем: илова кардани таркиби се ҳуҷайра (= C4 + C5 + C6).

Баъд аз ин, тугмаи "Сабтро қатъ кунед" -ро клик кунед. Пас аз оғози сабткунӣ ин тугма аз тугмаи "Сабти макро" иваз карда шуд.

Макро давида

Барои санҷидани он, ки чӣ тавр макросҳои сабтшуда тугмаи "Макрос" -ро дар ҳамон лавҳаи "Рамз" пахш кунед ё Alt + F8ро пахш кунед.

Пас аз он, равзана бо рӯйхати макросҳои сабтшуда боз мешавад. Мо макросеро, ки сабт кардем, меҷӯем, онро интихоб кунед ва тугмаи "Иҷро" -ро зер кунед.

Шумо метавонед боз ҳам осонтар кор кунед ва ҳатто равзанаи интихоби макросро даъват накунед. Мо дар хотир дорем, ки мо маҷмӯи "калидҳои гарм" -ро барои даъвати макросҳои зуд сабт кардем. Дар ҳолати мо, ин Ctrl + M мебошад. Мо ин комбинацияро дар клавиатура чоп мекунем, баъд аз он макрос оғоз меёбад.

Тавре ки шумо мебинед, макрос тамоми амалҳои қаблан сабтшударо иҷро кард.

Таҳрири макро

Барои тағир додани макрос, тугмаи "Макрос" -ро бори дигар клик кунед. Дар равзанаи кушодашуда макросҳои дилхоҳро интихоб кунед ва тугмаи "Тағйир додан" -ро клик кунед.

Microsoft Visual Basic (VBE) - муҳите, ки макросҳоро таҳрир мекунад, мекушояд.

Сабти ҳар як макрос бо фармони Sub оғоз шуда, бо фармони End Sub анҷом меёбад. Дарҳол пас аз фармони Sub номи макрос нишон дода мешавад. Оператори "Диапазон (" ... "). Интихоби чашмак интихоб мекунад. Масалан, бо фармони "Диапазон (" C4 ") Интихоб кунед, чашмаки C4 интихоб карда шуд. Барои сабти амалҳо дар формулаҳо ва барои дигар ҳисобҳо оператори "ActiveCell.FormulaR1C1" истифода мешавад.

Биёед кӯшиш кунем, ки макро каме тағир диҳем. Барои ин, ибораро ба макрос илова кунед:

Диапазон ("C3"). Интихоб кунед
ActiveCell.FormulaR1C1 = "11"

Ифодаи "ActiveCell.FormulaR1C1 =" = R [-3] C + R [-2] C + R [-1] C "бо" ActiveCell.FormulaR1C1 = "= R [-4] C + R [-3 иваз карда шуд. ] C + R [-2] C + R [-1] C "."

Мо муҳаррирро пӯшем ва макро, тавре ки охирин бор аст, иҷро кунем. Тавре ки шумо мебинед, бо сабаби тағиротҳое, ки мо ҷорӣ кардем, як ячейкаи дигар илова карда шуд. Он инчунин ба ҳисоб кардани маблағи умумӣ дохил карда шуд.

Агар макрос хеле калон бошад, он метавонад муддати дарозро иҷро кунад. Аммо, бо иваз кардани дастӣ ба код, мо метавонем ин равандро суръат бахшем. Фармони "Application.ScreenUpdating = False" илова кунед. Он қувваи ҳисобкуниро сарфа мекунад, ки корашро суръат мебахшад. Ин бо роҳи даст кашидан аз навсозии экран ҳангоми амалиёти ҳисоб ба даст меояд. Барои барқарор кардани навсозӣ пас аз иҷрои макро, дар охир мо фармони "Application.ScreenUpdating = True" -ро менависем

Дар аввали рамз фармони "Application.Calculation = xlCalculationManual" илова кунед ва дар охири рамз "Application.Calculation = xlCalculationAutomatic" илова мекунем. Ҳамин тариқ, дар оғози макрос мо ҳисобкунии автоматии натиҷаро пас аз ҳар як тағирёбии ҳуҷайра хомӯш карда, дар охири макро, онро фаъол мекунем. Ҳамин тариқ, Excel натиҷаро танҳо як маротиба ҳисоб мекунад ва онро ҳамеша ҳисоб намекунад, ки ин вақтро сарфа мекунад.

Навиштани рамзи макро аз сифр

Истифодабарандагони пешрафта на танҳо макросҳои сабтшударо таҳрир ва оптимизатсия мекунанд, инчунин коди макро аз сифр менависанд. Барои оғоз кардани ин, шумо бояд тугмаи "Visual Basic" -ро пахш кунед, ки дар оғози лентаи таҳиякунанда ҷойгир аст.

Пас аз он, равзанаи муҳаррири VBE шинос кушода мешавад.

Барномасоз коди макро дар он ҷо дастӣ менависад.

Тавре ки шумо мебинед, макросҳо дар Microsoft Excel метавонад иҷрои равандҳои муқаррарӣ ва ягонаро ба таври назаррас суръат бахшад. Аммо, дар аксари ҳолатҳо барои ин макросҳое истифода мешаванд, ки кодҳо ба таври дастӣ навишта мешаванд, на ба таври автоматикӣ сабтшуда. Ғайр аз он, барои тезонидани вазифа рамзи макро тавассути муҳаррири VBE оптимизатсия карда мешавад.

Pin
Send
Share
Send