Чӣ тавр автоматикунонии вазифаҳои муқаррариро дар Excel бо макросҳо

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

Оё шумо аллакай дар бораи он ки макрос чист ва он чӣ гуна кор мекунад, кунҷковӣ доред? Пас далерона пеш равед - он гоҳ мо тамоми раванди эҷоди макросро бо шумо қадам ба қадам иҷро хоҳем кард.

Макро чист?

Макрос дар Microsoft Office (бале, ин функсия дар бисёр замимаҳои бастаи Microsoft Office якхела кор мекунад) рамзи барнома дар забони барномасозӣ мебошад Visual Basic барои барномаҳо (VBA) дар дохили ҳуҷҷат нигоҳ дошта мешавад. Барои равшантар кардани он, ҳуҷҷати Microsoft Office-ро метавон бо саҳифаи HTML муқоиса кард, пас макрос аналоги Javascript аст. Он чизе, ки Javascript бо маълумоти HTML дар саҳифаи веб кор карда метавонад, ба он чизе, ки макрос метавонад бо маълумот дар ҳуҷҷати Microsoft Office иҷро кунад, хеле монанд аст.

Макросҳо метавонанд ҳар чизеро, ки шумо дар ҳуҷҷат мехоҳед иҷро кунед. Инҳоянд баъзе аз онҳо (қисми хеле хурд):

  • Услубҳо ва форматкуниро татбиқ кунед.
  • Амалҳои гуногунро бо маълумоти рақамӣ ва матнӣ иҷро кунед.
  • Манбаъҳои берунии маълумотро истифода баред (файлҳои пойгоҳи додаҳо, ҳуҷҷатҳои матнӣ ва ғ.)
  • Ҳуҷҷати нав созед.
  • Ҳама чизҳои дар боло зикршударо дар ҳама гуна комбинатсия иҷро кунед.

Эҷоди макрос - мисоли амалӣ

Масалан, файли маъмултаринро гирем CSV. Ин ҷадвали оддии 10×20 аст, ки аз рақамҳои аз 0 то 100 бо сарлавҳаҳои сутунҳо ва сатрҳо пур карда шудааст. Вазифаи мо ин аст, ки ин маҷмӯаи маълумотро ба ҷадвали ба таври ҳозира форматшуда табдил диҳем ва дар ҳар як сатр ҷамъоварӣ кунем.

Тавре ки аллакай зикр гардид, макрос ин кодест, ки бо забони барномасозии VBA навишта шудааст. Аммо дар Excel шумо метавонед барномаеро бидуни навиштани сатри код созед, ки мо онро худи ҳозир иҷро мекунем.

Барои сохтани макрос, кушоед View (Намуд) > Макрос (Макро) > Макро сабт кунед (Сабти макрос...)

Макроси худро ном диҳед (бе фосила) ва клик кунед OK.

Аз ин лаҳза сар карда, ҲАМАИ амалҳои шумо бо ҳуҷҷат сабт карда мешаванд: тағирот ба чашмакҳо, ҳаракат дар ҷадвал, ҳатто тағир додани андозаи тиреза.

Excel сигнал медиҳад, ки ҳолати сабти макрос дар ду ҷой фаъол аст. Якум, дар меню Макрос (Макросҳо) - ба ҷои сатр Макро сабт кунед (Сабти макрос…) сатр пайдо шуд Қатъи сабт (Сабти сабтро қатъ кунед).

Дуюм, дар кунҷи чапи поёни равзанаи Excel. Нишона Ист (мураббии хурд) нишон медиҳад, ки ҳолати сабти макрос фаъол аст. Ангуштзании он сабтро қатъ мекунад. Ва баръакс, вақте ки ҳолати сабт фаъол нест, нишонае мавҷуд аст, ки сабти макросҳоро дар ин макон фаъол созад. Ангуштзании он ҳамон натиҷаеро медиҳад, ки сабт тавассути менюро фаъол мекунад.

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

Баъдан, формулаҳоро дар чашмакҳо мувофиқи номи сарлавҳаҳо ворид кунед (вариантҳои формулаҳо барои забони англисӣ ва версияҳои Excel дода шудаанд, суроғаҳои ячейка ҳамеша ҳарфҳо ва рақамҳои лотинӣ мебошанд):

  • =СУМ(B2:K2) or =СУМ(B2:K2)
  • =МИЁНА(B2:K2) or =СРЗНАЧ(B2:K2)
  • =MIN(B2:K2) or =MIN(B2:K2)
  • =МАКС(B2:K2) or =МАКС(B2:K2)
  • =МЕДИАН(B2:K2) or =МЕДИАН(B2:K2)

Акнун чашмакҳоро бо формулаҳо интихоб кунед ва онҳоро ба ҳама сатрҳои ҷадвали мо бо кашолакунии дастаки автоматӣ нусхабардорӣ кунед.

Пас аз анҷом додани ин қадам, ҳар як сатр бояд ҷамъи мувофиқ дошта бошад.

Баъдан, мо натиҷаҳоро барои тамоми ҷадвал ҷамъбаст мекунем, барои ин мо боз чанд амалиёти математикиро иҷро мекунем:

мутаносибан:

  • =СУМ(L2:L21) or =СУМ(L2:L21)
  • =МИЁНА(B2:K21) or =СРЗНАЧ(B2:K21) – барои ҳисоб кардани ин қиммат маҳз маълумоти ибтидоии ҷадвалро гирифтан лозим аст. Агар шумо миёнаи миёнаи сатрҳои алоҳидаро гиред, натиҷа дигар хоҳад буд.
  • =MIN(N2:N21) or =MIN(N2:N21)
  • =МАКС(O2:O21) or =МАКС(O2:O21)
  • =МЕДИАН(B2:K21) or =МЕДИАН(B2:K21) – мо бо сабаби дар боло зикршуда истифода бурдани маълумоти ибтидоии ҷадвалро баррасӣ мекунем.

Акнун, ки мо ҳисобкуниро анҷом додем, биёед каме форматкуниро иҷро кунем. Аввалан, биёед як формати намоиши маълумотро барои ҳама ҳуҷайраҳо муқаррар кунем. Ҳама чашмакҳоро дар варақ интихоб кунед, барои ин кор миёнабури клавиатураро истифода баред Ctrl + Aё ба нишона пахш кунед Ҳама интихоб кунед, ки дар чорроҳаи сарлавҳаҳои сатр ва сутун ҷойгир аст. Сипас клик кунед Услуби вергул (Формати ҷудошуда) ҷадвал хона (хона).

Баъд, намуди сарлавҳаҳои сутун ва сатрро тағир диҳед:

  • Услуби шрифти ғафс.
  • Ҳамоҳангсозии марказ.
  • Пур кардани ранг.

Ва ниҳоят, биёед формати ҷамъбастҳоро муқаррар кунем.

Ин аст, ки он дар охир бояд чунин бошад:

Агар ҳама чиз ба шумо мувофиқ бошад, сабти макросро қатъ кунед.

Табрик мекунем! Шумо танҳо аввалин макроси худро дар Excel худатон сабт кардаед.

Барои истифодаи макросҳои тавлидшуда, мо бояд ҳуҷҷати Excel-ро дар формате захира кунем, ки макросҳоро дастгирӣ мекунад. Аввалан, мо бояд тамоми маълумотро аз ҷадвали сохтаамон тоза кунем, яъне онро қолаби холӣ созем. Гап дар сари он аст, ки дар оянда бо ин қолаб кор карда, мо маълумоти навтарин ва мувофиқро ба он ворид хоҳем кард.

Барои тоза кардани ҳама чашмакҳо аз маълумот, тасвири ростро клик кунед Ҳама интихоб кунед, ки дар чорроҳаи сарлавҳаҳои сатр ва сутун ҷойгир аст ва аз менюи контекстӣ, интихоб кунед Нобуд (Нест кардан).

Ҳоло варақаи мо пурра аз ҳама маълумот тоза карда шудааст, дар ҳоле ки макрос сабт боқӣ мемонад. Мо бояд китоби кориро ҳамчун қолаби Excel, ки дорои тамдиди макрос мебошад, захира кунем XL ™.

Нуқтаи муҳим! Агар шумо файлро бо васеъшавӣ захира кунед XLTX, пас макрос дар он кор намекунад. Дар омади гап, шумо метавонед китоби кориро ҳамчун қолаби Excel 97-2003 захира кунед, ки формат дорад. XLT, он инчунин макросҳоро дастгирӣ мекунад.

Вақте ки қолаб захира карда мешавад, шумо метавонед Excel-ро бехатар пӯшед.

Иҷрои макро дар Excel

Пеш аз он ки тамоми имкониятҳои макроси эҷодкардаатонро ошкор созед, ман фикр мекунам, ки ба як чанд нуктаи муҳими макросҳо дар маҷмӯъ диққат диҳам:

  • Макросҳо метавонанд зараровар бошанд.
  • Сархати қаблиро бори дигар хонед.

Рамзи VBA хеле пурқувват аст. Аз ҷумла, он метавонад амалиётҳоро дар файлҳои берун аз ҳуҷҷати ҷорӣ иҷро кунад. Масалан, макрос метавонад ягон файли ҷузвдонро нест кунад ё тағир диҳад Ҳуҷҷатҳои ман. Аз ин сабаб, танҳо макросҳоро аз манбаъҳое, ки ба шумо боварӣ доранд, иҷро кунед ва иҷозат диҳед.

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

Қадами навбатӣ ворид кардани маҷмӯи охирини навшуда аз файл мебошад CSV (дар асоси чунин файл, мо макроси худро офаридем).

Вақте ки шумо маълумотро аз файли CSV ворид мекунед, Excel метавонад аз шумо хоҳиш кунад, ки баъзе танзимотҳоро барои дуруст интиқол додани маълумот ба ҷадвал муқаррар кунед.

Вақте ки воридот ба анҷом мерасад, ба меню гузаред Макрос (Макросҳо) ҷадвал View (Намоиш) ва фармонро интихоб кунед Намоиши макросҳо (Макро).

Дар равзанаи муколамае, ки кушода мешавад, мо сатрро бо номи макроси худ мебинем FormatData. Онро интихоб кунед ва клик кунед давидан (Иҷро кунед).

Вақте ки макрос ба кор оғоз мекунад, шумо курсори ҷадвалро мебинед, ки аз ячейка ба ячейка мегузарад. Пас аз чанд сония, ҳамон амалҳо бо маълумоте, ки ҳангоми сабти макрос анҷом дода мешаванд, анҷом дода мешаванд. Вақте ки ҳама чиз тайёр аст, ҷадвал бояд ҳамон тавре бошад, ки мо онро дастӣ формат кардаем, танҳо бо маълумоти гуногун дар ҳуҷайраҳо.

Биёед дар зери сарпӯш назар кунем: Макро чӣ гуна кор мекунад?

Тавре ки зиёда аз як маротиба зикр гардид, макрос рамзи барнома дар забони барномасозӣ мебошад. Visual Basic барои барномаҳо (VBA). Вақте ки шумо реҷаи сабти макросро фаъол мекунед, Excel воқеан ҳар амалеро, ки шумо дар шакли дастурҳои VBA анҷом медиҳед, сабт мекунад. Оддӣ карда гӯем, Excel кодро барои шумо менависад.

Барои дидани ин рамзи барнома, шумо бояд дар меню Макрос (Макросҳо) ҷадвал View (намоиш) пахш кунед Намоиши макросҳо (Макросҳо) ва дар қуттии муколамае, ки кушода мешавад, клик кунед Edit (Тағйир).

Тиреза кушода мешавад. Visual Basic барои барномаҳо, ки дар он мо рамзи барномаи макроси сабтшударо мебинем. Бале, шумо дуруст фаҳмидед, дар ин ҷо шумо метавонед ин кодро тағир диҳед ва ҳатто макроси нав эҷод кунед. Амалҳое, ки мо бо ҷадвал дар ин дарс иҷро кардем, метавонанд бо истифода аз сабти автоматии макрос дар Excel сабт карда шаванд. Аммо макросҳои мураккабтар бо пайдарпаии дақиқ танзимшуда ва мантиқи амал, барномасозии дастӣ талаб мекунанд.

Биёед ба вазифаи худ як қадами дигар илова кунем ...

Тасаввур кунед, ки файли маълумоти аслии мо data.csv аз ҷониби баъзе равандҳо ба таври худкор сохта мешавад ва ҳамеша дар диск дар ҳамон ҷо нигоҳ дошта мешавад. Барои намуна, C:Datadata.csv – роҳ ба файл бо маълумоти навшуда. Раванди кушодани ин файл ва воридоти маълумот аз он инчунин метавонад дар макрос сабт карда шавад:

  1. Файли шаблонро кушоед, ки дар он макросро захира кардаем - FormatData.
  2. Бо номи макроси нав эҷод кунед LoadData.
  3. Ҳангоми сабти макрос LoadData маълумотро аз файл ворид кунед data.csv — чунон ки мо дар кисми гузаштаи дарс карда будем.
  4. Вақте ки воридот ба анҷом мерасад, сабти макросро қатъ кунед.
  5. Ҳама маълумотро аз ҳуҷайраҳо нест кунед.
  6. Файлро ҳамчун қолаби бо макрофаъолшуда Excel (васеъшавии XLTM) захира кунед.

Ҳамин тариқ, бо иҷро кардани ин қолаб, шумо ба ду макрос дастрасӣ пайдо мекунед - яке маълумотро бор мекунад, дигаре онҳоро формат мекунад.

Агар шумо хоҳед, ки ба барномасозӣ дохил шавед, шумо метавонед амалҳои ин ду макросро ба як якҷоя кунед - танҳо бо нусхабардории код аз LoadData ба аввали код FormatData.

Дин ва мазҳаб