Excel бағдарламасына макростарды қалай жазуға болады. Excel бағдарламасындағы макростар - пайдалану нұсқаулары. Қойындыларға макрос түймелерін қосу

Тақырып 2.3. Презентацияға арналған бағдарламалық қамтамасыз ету және кеңселік бағдарламалау негіздері

Тақырып 2.4. Мәліметтер қорын басқару жүйелері және сараптамалық жүйелер

2.4.11. «Оқыту_студенттері» негізгі түймесі бар оқу базасы - Жүктеп алу

VBA бағдарламалау және макростар

2.3. Презентацияға арналған бағдарламалық қамтамасыз ету және кеңселік бағдарламалау негіздері

2.3.7. Office бағдарламалау негіздері

Қолданбаларға арналған BASIC визуалды бағдарламалау тілі: Visual Basic for Applications (VBA)

VBA — VB қосымшаларын жасауға арналған барлық дерлік құралдарды қамтитын Visual Basic (VB) визуалды бағдарламалау тілінің ішкі жиыны.

VBA VB бағдарламалау тілінен айырмашылығы, VBA тікелей Office нысандарымен жұмыс істеуге арналған және оны Office қолданбаларынан тәуелсіз жоба жасау үшін пайдалану мүмкін емес. Сонымен, VBA-да программалау тілі VB болып табылады, ал программалау ортасы кез келген MS Office қосымшасынан белсендіруге болатын VB редакторы түрінде жүзеге асырылады.

Мысалы, PowerPoint бағдарламасынан VBA редакторын ашу үшін Құралдар / Макро / VBA редакторы пәрменін орындау керек. Көрініс мәзірінде Microsoft PowerPoint пәрменін таңдау немесе Alt + F11 пернелер тіркесімін басу арқылы редактордан қолданбаға оралуға болады.

Кірістірілген VBA өңдегішінің басқару элементтері мен пішін өңдегішін пайдалану арқылы пайдаланушы жасай алады пайдаланушы интерфейсіәзірленіп жатқан жоба үшін экран пішіні. Басқару элементтері объектілер болып табылады және әрбір нысанда ықтимал оқиғалардың анықталған жиыны болады (мысалы, тінтуірді басу немесе екі рет басу, пернені басу, нысанды сүйреу және т.б.).

Әрбір оқиға белгілі бір бағдарламалық әрекеттерде (жауаптар, реакциялар) көрінеді. Пайдаланушы пішіні қолданбаның диалогтық терезелерін жасауға мүмкіндік береді. VBA бағдарламалау тілі Excel бағдарламасында пайдаланушы функцияларын жасау сияқты бағдарлама кодын жазу үшін қолданылады.

VBA бағдарламалау жүйесінің Office нысандарымен жұмыс істеуге арналғандығы оны әзірлеу әрекеттерін автоматтандыру үшін тиімді пайдалануға мүмкіндік береді. әртүрлі түрлеріқұжаттар.

VBA-да пайдаланушы функцияларын құру алгоритмін қарастырайық:

1. Tools / Macro / Visual Basic Editor пәрменін орындау немесе Alt+F11 пернелер тіркесімін басу арқылы VBA код өңдегішінің терезесін ашыңыз.

2. Редактор мәзірінің Insert / Module пунктін таңдаңыз.

3. Содан кейін Кірістіру / Процедура орындаңыз. Ашылатын Процедураны қосу тілқатысу терезесінде функцияның атын енгізіңіз (мысалы, SUM5) және қосқыштарды орнатыңыз: Түр – Функция күйіне; Ауқым (Ауқым) - Жалпы (Жалпы) позициясына өтіп, OK түймесін басыңыз.


Күріш. 1.

4. VBA бағдарламалауға арналған редактор терезесінде функция үлгісі пайда болады: тақырып - Қоғамдық функция SUM5() және аяқталуы - Аяқтау функциясы, олардың арасында функцияның негізгі кодын орналастыру керек.


Күріш. 2.

5. Әрі қарай функция параметрлерінің тізімін енгіземіз, мысалы, жақша ішінде (x, y, z, i, j), деректер түрін (дәл есептеулер үшін) және функция қайтаратын мән түрін (біз оны бұл мысалға енгізбейді). Сонымен қатар, функцияның денесін енгіземіз, мысалы, SUM5 = x + y + z + i + j. Нәтижесінде біз келесі бағдарлама мәтінін аламыз:

Қоғамдық функция SUM5(x, y, z, i, j)
SUM5 = x + y + z + i + j
Аяқтау функциясы

6. Терезеге оралу Excel қолданбалары, онда, мысалы, бес мәнді қосу керек.

7. «Insert/Function» орындаңыз және ашылатын функция шебері терезесінде «Пайдаланушы анықтайтын» категориясын таңдаңыз, ал «Функцияны таңдау» терезесінде SUM5 таңдап, OK түймесін басыңыз.



Күріш. 3.



Күріш. 4.

Макростар

Макрос құру

А1, В1 ұяшықтарындағы екі санды автоматты түрде қосу және нәтижені С1 ұяшығына орналастыру үшін макрос құрайық, сонымен қатар С1 ұяшығын көгілдір түспен толтырайық.

Тапсырма үшін макрос құру алгоритмі:

1. Құралдар/Макростар, Жазуды бастау тармағын таңдаңыз.

2. Макрос атауы өрісінде макростың атын енгізіңіз. Макрос атауының бірінші таңбасы әріп болуы керек. Макрос атауында бос орындарға рұқсат етілмейді; Сөзді бөлгіштер ретінде астын сызуды пайдалануға болады.

3. Макросты пернелер тіркесімін пайдаланып іске қосу үшін пернелер тіркесімі өрісіне әріпті енгізіңіз. Сіз CTRL+ әрпін (кіші әріптер үшін) немесе CTRL+SHIFT+ әрпін (бас әріптер үшін) пайдалана аласыз, мұнда әріп пернетақтадағы кез келген әріп пернесі болып табылады. Стандартты пернелер тіркесімін таңдамаңыз, себебі таңдалған пернелер тіркесімі стандартты пернелер тіркесімін ауыстырады. Microsoft Excelсол кезде осы кітаппен.

4. «Сақтау» өрісінде макрос сақталатын жұмыс кітабын таңдаңыз. Макросты «Осы жұмыс кітабына» сақтаңыз. Жасау үшін қысқаша сипаттамамакрос, Сипаттама өрісіне қажетті мәтінді енгізіңіз. Скриншот «Макро жазу» диалогтық терезесін толтыру мысалын көрсетеді


Күріш. 5.

5. OK түймесін басыңыз.

6. Жазғыңыз келетін макрокомандаларды орындаңыз.


Күріш. 6.

7. Қалқымалы ОЖ құралдар тақтасындағы (Жазуды тоқтату) немесе Құралдар / Макрос / Макросты тоқтату түймешігін басыңыз.

Макрос жазуды аяқтағанда, ол макростар тізімінде өз атымен көрсетіледі.

VBA редакторы орындалған әрекеттердің негізінде макрокомандалар тізбегін немесе бағдарламаны автоматты түрде жазып алды (Cурет 7.).



Күріш. 7.

Макросты шақыру үшін Құралдар / Макрос / Макростар командасын орындау керек. Осыдан кейін макростар тізімі бар тілқатысу терезесінде оны аты бойынша тауып, «Іске қосу» түймесін басуға болады.

Макросты іске қосу үшін құралдар тақтасының түймешігін тағайындау

Макросты кірістірілген құралдар тақтасындағы түймені пайдаланып іске қосуға болады, ол үшін мына әрекеттерді орындау керек:

  1. Құралдар мәзірінен Параметрлер тармағын таңдаңыз.
  2. Параметрлер тілқатысу терезесінде Пәрмендер қойындысын таңдап, Санаттар тізімінде Макростар опциясын таңдаңыз және Пәрмендер тізімінде «Пайдаланушы түймешігін» таңдаңыз.
  3. Пәрмендер тізімінен таңдамалы түймені құралдар тақтасына апару үшін тінтуірді пайдаланыңыз.
  4. Осы түймені тінтуірдің оң жақ түймешігімен басып, Макросты тағайындау пәрменін таңдаңыз контекстік мәзір.
  5. Макрос атауы өрісіне макростың атын енгізіңіз.

Макросты іске қосу үшін графикалық объектінің аймағын тағайындау:

  1. Графикалық объект құру.
  2. Таңдалған графикалық объектіге контекстік мәзірді қолданыңыз.
  3. Контекстік мәзірден Макросты тағайындау пәрменін таңдаңыз.
  4. Пайда болған Макросты нысанға тағайындау тілқатысу терезесінде Макрос атауы өрісіне макростың атын енгізіп, OK түймесін басыңыз.

Макросты өңдеу VBA редакторының көмегімен жүзеге асырылады, ол үшін келесі әрекеттерді орындау керек:

  1. Құралдар / Макростар / Макростар командасын таңдаңыз.
  2. Атау тізімінен өзгерткіңіз келетін макростың атын таңдаңыз.
  3. Өңдеу түймесін басыңыз, Visual Basic терезесі ашылады, онда Visual Basic тілінде жазылған таңдалған макростың командаларын өңдеуге болады.


Макросты жою:

  1. Құралдар мәзірінен Макростар, содан кейін Макростар тармағын таңдаңыз.
  2. Ағымдағы жұмыс кітабындағы макростар тізімінде жойғыңыз келетін макросты таңдап, Жою түймесін басу керек.

Макростың атын өзгерту

Макростың атын өзгерту үшін макрос өңдеу режиміне кіріп, бағдарлама мәтініндегі тақырыпты өзгерту керек. Жаңа атау макрос тізімдеріндегі ескісін автоматты түрде ауыстырады және пернелер тіркесімдері макросты жаңа атпен шақырады.

Алдымен, терминология туралы аздап.

Макро- бұл Excel бағдарламасының кірістірілген тілінде жазылған код VBA(Қолданбаға арналған Visual Basic). Макростарды қолмен жасауға немесе макро жазғыш деп аталатын құрылғыны пайдаланып автоматты түрде жазуға болады.

Макромагнитофон Excel бағдарламасындағы барлық әрекеттерді кезең-кезеңмен жазып, оны VBA кодына түрлендіретін Excel құралы. Макрорегистратор өте егжей-тегжейлі кодты жасайды (кейінірек көретініміздей), оны кейін қажет болған жағдайда өңдеуге болады.

Жазылған макросты шексіз рет іске қосуға болады және Excel барлық жазылған қадамдарды қайталайды. Бұл VBA туралы ештеңе білмесеңіз де, қадамдарды жай жазып алып, кейін оларды қайта пайдалану арқылы кейбір тапсырмаларды автоматтандыруға болатынын білдіреді.

Енді Excel бағдарламасында макросты қалай жазуға болатынын көрейік.

Мәзір таспасында Әзірлеуші ​​қойындысын көрсетіңіз

Макросты жазбас бұрын Excel мәзірінің таспасына Әзірлеуші ​​қойындысын қосу керек. Ол үшін мына қадамдарды орындаңыз:

Нәтижесінде мәзір таспасында «Әзірлеуші» қойындысы пайда болады.

Excel бағдарламасында макрос жазу

Енді ұяшықты таңдайтын және оған «Excel» сияқты мәтін енгізетін өте қарапайым макрос жазайық.

Міне, осындай макросты жазу қадамдары:

Құттықтаймыз! Сіз Excel бағдарламасында бірінші макросты жаздыңыз. Макрос пайдалы ешнәрсе жасамаса да, ол бізге макромагнитофонның Excel бағдарламасында қалай жұмыс істейтінін түсінуге көмектеседі.

Енді макромагнитофон жазып алған кодты қарастырайық. Код өңдегішін ашу үшін мына қадамдарды орындаңыз:


«Іске қосу» түймесін басқаннан кейін «Excel» мәтіні А2 ұяшығына кірістіріліп, А3 ұяшығы таңдалатынын көресіз. Бұл миллисекундтарда болады. Бірақ шын мәнінде, макрос жазылған әрекеттерді дәйекті түрде орындады.

Ескерту. Сондай-ақ, макросты Ctrl + Shift + N пернелер тіркесімі арқылы іске қосуға болады (Ctrl және Shift пернелерін басып тұрып, N пернесін басыңыз). Бұл макросты жазған кезде оған тағайындаған белгі.

Макрос нені жазады?

Енді код редакторына өтіп, не алғанымызды көрейік.

Excel бағдарламасында VB редакторын ашу үшін мына қадамдар берілген:

  1. Код тобында Visual Basic түймешігін басыңыз.

Сондай-ақ, Alt + F11 пернелер тіркесімін пайдаланып, VBA код өңдегішіне өтуге болады.

  • Мәзір жолағы: VB редакторымен жұмыс істеу кезінде қолдануға болатын командалардан тұрады.
  • Құралдар тақтасы- панельге ұқсайды жылдам қол жеткізу Excel бағдарламасында. Жиі пайдаланатын қосымша құралдарды қосуға болады.
  • Project Explorer- Мұнда Excel барлық жұмыс кітаптарын және әрбір жұмыс кітабындағы барлық нысандарды тізімдейді. Мысалы, бізде 3 жұмыс парағы бар жұмыс кітабы болса, ол Project Explorer бағдарламасында пайда болады. Мұнда модульдер, пайдаланушы пішіндері және сынып модульдері сияқты бірнеше қосымша нысандар бар.
  • Код терезесі- VBA кодының өзі осы терезеде орналасқан. Жоба зерттеушісінде тізімделген әрбір нысан үшін жұмыс парақтары, жұмыс кітаптары, модульдер және т.б. сияқты код терезесі бар. Бұл оқулықта жазылған макрос модуль кодының терезесінде екенін көреміз.
  • Сипаттар терезесі- осы терезеде әрбір объектінің қасиеттерін көруге болады. Мен бұл терезені объектілерді белгілеу немесе олардың қасиеттерін өзгерту үшін жиі қолданамын.
  • Дереу терезе(алдын ала қарау терезесі) - Бастапқы кезеңде сізге қажет болмайды. Бұл қадамдарды сынағыңыз келгенде немесе жөндеу кезінде пайдалы. Ол әдепкі бойынша көрсетілмейді және оны Көрініс қойындысын басу және Дереу терезе опциясын таңдау арқылы көрсетуге болады.

Біз «EnterText» макросын жазған кезде VB редакторында келесі жағдайлар орын алды:

  • Жаңа модуль қосылды.
  • Макрос біз көрсеткен атаумен жазылды - "InputText"
  • Код терезесіне жаңа процедура қосылды.

Сонымен, модульді екі рет шертсеңіз (біздің жағдайда 1-модульде), төменде көрсетілгендей код терезесі пайда болады.

Мұнда макрорегистратор жазылған код:

SubTextEnter() " "TextEnter макрос " " Ауқым("A2"). ActiveCell таңдаңыз.FormulaR1C1 = "Excel" диапазоны("A3").Соңғы ішкі параметрін таңдаңыз.

VBA жүйесінде " (апостроф) кейінгі кез келген жол орындалмайды. Бұл тек ақпараттық мақсаттарға арналған түсініктеме. Осы кодтың алғашқы бес жолын алып тастасаңыз, макрос жұмыс істей береді.

Енді кодтың әрбір жолын қарап шығып, нені және неге екенін сипаттайық.

Код келесіден басталады Субсодан кейін макрос атауы және бос жақшалар. Sub — ішкі бағдарламаның қысқаша мағынасы. VBA-дағы әрбір ішкі бағдарлама (процедура деп те аталады) келесіден басталады Субжәне аяқталады Аяқтау қосалқысы.

  • Ауқым("A2").Таңдау - бұл жол A2 ұяшығын таңдайды.
  • ActiveCell.FormulaR1C1 = "Excel" - Бұл жол белсенді ұяшыққа "Excel" мәтінін енгізеді. Бірінші қадам ретінде A2 ұяшығын таңдағандықтан, ол біздің белсенді ұяшыққа айналады.
  • Диапазон("A3").Таңдау - A3 ұяшығын таңдау. Бұл мәтінді енгізгеннен кейін Enter пернесін басқан кезде орын алады, нәтижесінде A3 ұяшығы таңдалады.

Excel бағдарламасында макросты жазу туралы негізгі түсінік бар деп үміттенеміз.

Макрорегистратор арқылы жазылған код әдетте тиімді емес немесе оңтайландырылған код емес екенін ескеріңіз. Макрожазғыш жиі қосымша қажетсіз қадамдарды қосады. Бірақ бұл макромагнитофонды пайдаланудың қажеті жоқ дегенді білдірмейді. VBA-ны енді ғана үйренетіндер үшін макромагнитофон VBA-да барлығы қалай жұмыс істейтінін талдаудың және түсінудің тамаша тәсілі болуы мүмкін.

Абсолютті және салыстырмалы макрожазба

Excel бағдарламасындағы абсолютті және салыстырмалы сілтемелер туралы бұрыннан білесіз бе? Макросты жазу үшін абсолютті сілтемені пайдалансаңыз, VBA коды әрқашан сіз пайдаланған ұяшықтарға сілтеме жасайды. Мысалы, А2 ұяшығын таңдап, «Excel» мәтінін енгізсеңіз, әр уақытта – жұмыс парағында қай жерде болсаңыз да және қай ұяшық таңдалса да, сіздің кодыңыз «Excel» мәтінін A2 ұяшығына енгізеді.

Макросты жазу үшін салыстырмалы сілтеме опциясын пайдалансаңыз, VBA нақты ұяшық мекенжайымен байланыстырмайды. Бұл жағдайда бағдарлама белсенді ұяшыққа қатысты «жылжиды». Мысалы, сіз A1 ұяшығын таңдадыңыз және макросты салыстырмалы сілтеме режимінде жаза бастадыңыз делік. Енді сіз A2 ұяшығын таңдайсыз, енгізіңіз Excel мәтініжәне Enter пернесін басыңыз. Енді осы макросты іске қоссаңыз, ол A2 ұяшығына оралмайды, оның орнына белсенді ұяшыққа қатысты қозғалады. Мысалы, егер В3 ұяшығы таңдалса, ол В4 ұяшығына жылжиды, «Excel» мәтінін жазып, содан кейін K5 ұяшығына өтеді.

Енді макросты салыстырмалы сілтеме режимінде жазайық:

Салыстырмалы сілтеме режиміндегі макрос сақталады.

Енді келесі әрекеттерді орындаңыз.

  1. Кез келген ұяшықты таңдаңыз (A1-ден басқа).
  2. «Әзірлеуші» қойындысына өтіңіз.
  3. Код тобында Макростар түймешігін басыңыз.
  4. Макрос тілқатысу терезесінде сақталған салыстырмалы сілтемелер макросын басыңыз.
  5. «Іске қосу» түймесін басыңыз.

Байқағаныңыздай, макрос «Excel» мәтінін A2 ұяшықтарына жазбаған. Бұл макросты салыстырмалы сілтеме режимінде жазғандықтан орын алды. Осылайша, курсор белсенді ұяшыққа қатысты қозғалады. Мысалы, егер мұны B3 ұяшығы таңдалған кезде орындасаңыз, ол Excel мәтініне - B4 ұяшығына өтіп, B5 ұяшығын таңдайды.

Міне, макрорегистратор жазып алған код:

Код B3 немесе B4 ұяшықтарына сілтеме жасамайтынын ескеріңіз. Макрос ағымдағы ұяшыққа және сол ұяшыққа қатысты ығысуға сілтеме жасау үшін Activecell пайдаланады.

Кодтың Ауқым («A1») бөлігін елемеу. Бұл макромагнитофон ешқандай мақсатқа қызмет етпейтін және жоюға болатын қажетсіз кодты қосатын жағдайлардың бірі. Онсыз код жақсы жұмыс істейді.

Макромагнитофонмен не істей алмайсыз?

Макротіркегіш Excel бағдарламасында сіз үшін тамаша және сіздің нақты қадамдарыңызды жазады, бірақ одан да көп нәрсені істеу қажет болғанда дұрыс таңдау болмауы мүмкін.

  • Объектіні таңдамай кодты орындау мүмкін емес. Мысалы, макростың келесі жұмыс парағына өтуін және ағымдағы жұмыс парағынан шықпай А бағанындағы барлық толтырылған ұяшықтарды бөлектеуін қаласаңыз, макрос жазу құрылғысы мұны істей алмайды. Мұндай жағдайларда кодты қолмен өңдеу керек.
  • Макро жазғышты пайдаланып теңшелетін функцияны жасай алмайсыз. VBA көмегімен жұмыс парағында қалыпты функциялар ретінде пайдалануға болатын реттелетін функцияларды жасауға болады.
  • Макрожазғышты пайдаланып циклдар жасай алмайсыз. Бірақ код өңдегішінде бір әрекетті жазып, циклды қолмен қосуға болады.
  • Шарттарды талдай алмайсыз: макромагнитофонды пайдаланып кодтағы шарттарды тексеруге болады. VBA кодын қолмен жазсаңыз, шартты бағалау және шын болса кодты (немесе жалған болса басқа кодты) орындау үшін IF then Else мәлімдемелерін пайдалануға болады.

Макростарды қамтитын Excel файлдарының кеңейтімі

Макросты жазғанда немесе Excel бағдарламасында VBA кодын қолмен жазғанда, файлды макрос қосылған файл кеңейтімімен (.xlsm) сақтау керек.

Excel 2007 нұсқасына дейін бір файл пішімі жеткілікті болды - .xls. Бірақ 2007 жылдан бастап .xlsx стандартты файл кеңейтімі ретінде енгізілді. .xlsx ретінде сақталған файлдарда макрос болуы мүмкін емес. Егер сізде .xlsx кеңейтімі бар файл болса және макросты жазып/жазып, оны сақтасаңыз, ол макросты қолдайтын пішімде сақтау туралы ескертеді және келесі диалогты көрсетеді:

Жоқ таңдасаңыз, Excel бағдарламасы файлды макросты қолдайтын пішімде сақтайды. Бірақ «Иә» түймесін бассаңыз, Excel жұмыс кітабынан барлық кодты автоматты түрде жояды және файлды .xlsx пішімінде жұмыс кітабы ретінде сақтайды. Сондықтан жұмыс кітабында макрос болса, сол макросты сақтау үшін оны .xlsm пішімінде сақтау керек.

Макрос дегеніміз не? Макро— сақталған әрекеттер тізбегі немесе VBA (Visual Basic for Application) ішінде жасалған бағдарлама. Жиі қойылатын сұрақ Excel бағдарламасында макросты қалай жазуға болады? Жай.

Анау. егер бір әрекеттерді бірнеше рет орындау қажет болса, біз бұл әрекеттерді есте сақтай аламыз және оларды бір түйме арқылы іске қоса аламыз. Мен сізді VBA үйренуге мәжбүрлемеймін немесе осы мақалада көптеген стандартты макростарды ұсынбаймын. Іс жүзінде кез келген адам Excel бағдарламасында макрос жасай/жаза алады. Осы мақсатта Excel бағдарламасының ең қызықты және ерекше мүмкіндігі бар - Макромагнитофон(әрекеттеріңізді код түрінде жазу). Анау. бейнедегі сияқты әрекеттеріңізді жазып, оларды кодқа (тізбегі) аударуға болады.

Қысқасы, егер сіз күн сайын бірдей әрекеттерді орындасаңыз, бұл процесті қалай автоматтандыру керектігін анықтаған жөн. Excel бағдарламасында макрос жазуды үйрену үшін оқыңыз ба?

1.Макростарға рұқсат беру

Мәзір (жоғарғы сол жақтағы дөңгелек түйме) - Excel параметрлері— Сенім орталығы — Сенім орталығының параметрлері — Макрос параметрлері. «Барлық макростарды қосу» құсбелгісін қойыңыз.

Немесе Әзірлеуші ​​қойындысында дәл солай жасаңыз

2. Әзірлеуші ​​мәзірін қосыңыз жылдам жұмысмакростармен

Мәзір (жоғарғы сол жақтағы дөңгелек түйме) - Excel параметрлері - Жалпы - Әзірлеуші ​​қойындысын көрсету.

Құрылған макрос жұмыс кітабында сақталуы үшін файлды сақтау керек .xlsm немесе .xlsb.Басқаша сақтау - Макрос қосылған Excel жұмыс кітабы немесе екілік жұмыс кітабы түймешігін басыңыз.

Сонымен, Excel бағдарламасында макросты қалай жазуға болады?

Бәрі оңай. Excel бағдарламасына көшейік. Беттің төменгі жағында парақ белгілерінің астында «Макрос жазу» түймесі бар.

Түймені басыңыз және «Макрос жазу» терезесі ашылады. Макросты Макрос атауы: өрісінде қалауымызша атаймыз. Біз оны шақыру үшін кейінірек қолданатын пернелер тіркесімін орнаттық (міндетті емес).

OK түймесін басыңыз. Макромагнитофон жазуды бастады.

Барлық. Енді макрос ретінде есте сақтауымыз керек әрекеттерді орындаймыз. Мысалы, бір жолды және сары түсті A1 ұяшығын жою керек.

Бұл манипуляциялар кезінде парақтардың астындағы «Макро жазу» түймесінің орнына шаршы жанады, оны басу макростың орындалуын тоқтатады.

Не болғанын қалай іске қосу керек? түймешігін басыңыз, Макросты таңдау терезесі пайда болады, қажетті макросты таңдаңыз, содан кейін «Іске қосу» түймесін басыңыз.

Мен не болғанын қалай көремін? түймешігін басыңыз. Қажет макросты таңдап, Өңдеу түймесін басыңыз. Макрос жазу терезесі (VBA терезесі) ашылады.

Макрокод келесідей болуы керек.

Ішкі мысал1() " Мысал1 макро жолдар("2:2").Таңдауды таңдаңыз.Жою Shift:=xlUp ауқымы("A1").Таңдау арқылы таңдаңыз.Интерьер .Үлгі = xlSolid .PatternColorIndex = xlAutomatic.Түс = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 Соңы ішкі

‘ – түсініктеме белгісі, яғни. бұл жол кодқа қосылмаған. Макростың аты (Ішкі мысал 1()) және аяқталуы (соңғы ішкі) болуы керек.

Макрос үшін түймені жасау жолын оқуға болады.

Сонымен, сіз кез келген әрекеттеріңізді жазып ала аласыз, осылайша оларды қалағаныңызша қайталай аласыз!

Компьютердегі барлық кітаптар үшін макросты сақтау жолын оқуға болады.

Мұны істеу үшін Жеке пайдаланыңыз.

Шарт бойынша макросты қалай іске қосу керектігін оқуға болады

Сәттілік, бұл сізге өте пайдалы болатынына сенімдімін!

Біздің мақаланы әлеуметтік желілерде бөлісіңіз:

Кестелермен немесе басқа Office нысандарымен бірдей әрекеттерді орындау қажет болғанда жағдайлар жиі туындайды. Бұл қосымша уақытты алып қана қоймайды, сонымен қатар өте тітіркендіреді. Бақытымызға орай, бұл мәселені шешу үшін макростар бар.

VBA ортасы макростарды жасауға арналған, бірақ оларды жазуды үйрену үшін бағдарламашы болудың немесе Visual Basic for Application бағдарламасын оқудың қажеті жоқ. Осы мақсатта сізден қосымша білімді талап етпей, сіздің командаңыз бойынша VBA кодын жасайтын арнайы әзірленген құралдар бар. Дегенмен, бұл тілді меңгеру соншалықты қиын емес.

Макростар жазу құралдарын пайдаланып қолданбаларда жасалады. Бұл жағдайда белгілі бір пернелер тіркесіміне қажетті әрекеттер тізбегі тағайындалады. Office қолданбасын ашыңыз. Пішімдейтін фрагментті таңдаңыз.

«Құралдар» -> «Макрос» -> «Жазуды бастау» мәзір тармағын таңдаңыз (Office 2007 – «Көру» -> «Макростар» -> «Макрос жазу»). Пайда болған «Макрос жазу» терезесінде жаңа макростың атын орнатыңыз, әдепкі бойынша ол «Macro1» болып табылады, бірақ оған ат берген дұрыс, әсіресе бірнеше макростар болса. Максималды өлшематау өрістері – 255 таңба, нүкте және бос орын таңбаларына рұқсат етілмейді.

Макрос болашақта пайдаланатын түймені немесе пернелер тіркесімін таңдауды шешіңіз. Ең қолайлы нұсқаны таңдауға тырысыңыз, әсіресе ол жиі қолдануға арналған болса. «Макросты тағайындау» өрісінде сәйкес элементті таңдаңыз: «түйме» немесе «пернелер».

«Батырманы» таңдасаңыз, «Жылдам параметрлер» терезесі ашылады. Сіз «пернелерді» таңдаған кезде пернетақтада комбинацияны енгізу жеткілікті. Қайталанбау үшін «Ағымдағы комбинацияларды» қарап шығыңыз. «Тағайындау» түймесін басыңыз.

Word және PowerPoint бағдарламаларында жасалған макрос болашақта барлық құжаттар үшін жарамды болады. Excel макросын барлық құжаттарға қолжетімді ету үшін оны қолданбаны ашқанда автоматты түрде іске қосылатын personal.xls файлында сақтаңыз. «Терезе» -> «Дисплей» командасын орындаңыз және пайда болған терезеде personal.xls файлының аты бар жолды таңдаңыз.

Сипаттама өрісіне макростың сипаттамасын енгізіңіз. OK түймесін басыңыз, сонда сіз құжатыңызға қайта ораласыз, бірақ енді тінтуір курсорында жазу белгішесін көре аласыз. Мәтінді автоматтандырғыңыз келетін әрекеттер тізбегі арқылы пішімдеңіз. Өте сақ болыңыз және қажетсіз әрекеттерді жасамаңыз, өйткені макрос олардың барлығын жазады және бұл болашақта оның орындалу уақытына әсер етеді.

«Құралдар» -> «Макро» -> «Жазуды тоқтату» командасын орындаңыз. VBA нысанын өзіңіз кодтың бір жолын жазбай жасадыңыз. Дегенмен, әлі де қолмен өзгертулер енгізу қажет болса, нысанды «Макростар» бөлімі, «Өзгерту» командасы арқылы немесе Alt+F8 пернелер тіркесімін пайдаланып енгізіңіз.

Танымал Microsoft Excel өнімінің алғашқы нұсқасы 1985 жылы пайда болғанын аз адамдар біледі. Содан бері ол бірнеше модификациялардан өтті және бүкіл әлем бойынша миллиондаған пайдаланушылар арасында сұранысқа ие болды. Сонымен қатар, көптеген адамдар осы электрондық кесте процессорының мүмкіндіктерінің аз ғана бөлігімен жұмыс істейді және Excel бағдарламасында бағдарламалау мүмкіндігі олардың өмірін қалай жеңілдететінін түсінбейді.

VBA дегеніміз не

Excel бағдарламасында бағдарламалау Microsoft корпорациясының ең атақты электрондық кесте процессорында орнатылған Visual Basic for Application бағдарламалау тілі арқылы жүзеге асырылады.

Сарапшылар оқудың салыстырмалы жеңілдігін оның артықшылықтарына жатқызады. Тәжірибе көрсеткендей, тіпті кәсіби бағдарламалау дағдылары жоқ пайдаланушылар да VBA негіздерін игере алады. VBA мүмкіндіктері офистік қолданба ортасында сценарийді орындауды қамтиды.

Бағдарламаның кемшілігі - әртүрлі нұсқалардың үйлесімділігіне байланысты проблемалар. Олар VBA бағдарлама кодының кіруіне байланысты функционалдылық, ішінде бар жаңа нұсқасыөнім, бірақ ескісі жоқ. Сондай-ақ, кемшіліктерге бөгде адамның өзгертуі үшін кодтың тым жоғары ашықтығы жатады. Дегенмен Microsoft Office, сондай-ақ IBM Lotus Symphony пайдаланушыға бастапқы кодты шифрлауға және оны көру үшін құпия сөз орнатуға мүмкіндік береді.

Объектілер, жинақтар, қасиеттер және әдістер

Бұл VBA ортасында жұмыс істейтіндер түсінуі керек ұғымдар. Ең алдымен, сіз объектінің не екенін түсінуіңіз керек. Excel бағдарламасында бұл функциялар парақ, жұмыс кітабы, ұяшық және ауқым болып табылады. Бұл нысандардың ерекше иерархиясы бар, яғни. бір-біріне бағыну.

Ең бастысы - қолданба, ол сәйкес келеді Excel бағдарламасы. Содан кейін жұмыс кітаптары, жұмыс парақтары және диапазон келеді. Мысалы, нақты жұмыс парағындағы A1 ұяшығына қол жеткізу үшін иерархияны ескеретін жолды көрсету керек.

«Жинақ» ұғымына келетін болсақ, бұл жазбада ChartObjects пішіні бар бір сыныптағы объектілер тобы. Оның жеке элементтері де объектілер болып табылады.

Келесі ұғым - қасиеттер. Олар кез келген объектінің қажетті сипаттамасы болып табылады. Мысалы, Ауқым үшін бұл Мән немесе Формула.

Әдістер дегеніміз не істеу керектігін көрсететін командалар. VBA-да кодты жазу кезінде олар нысаннан нүкте арқылы бөлінуі керек. Мысалы, кейінірек көрсетілетіндей, Excel бағдарламасында бағдарламалау кезінде Ұяшықтар(1,1).Таңдау командасы жиі қолданылады. Бұл координаттары бар ұяшықты таңдау керек дегенді білдіреді

Онымен бірге Selection.ClearContents жиі қолданылады. Мұны орындау таңдалған ұяшықтың мазмұнын тазалауды білдіреді.

Қалай бастау керек

Содан кейін сізге VB қосымшасына өту керек, ол үшін «Alt» және «F11» пернелер тіркесімін пайдалану жеткілікті. Әрі қарай:

  • терезенің жоғарғы жағында орналасқан мәзір жолағында Excel белгішесі жанындағы белгішені басыңыз;
  • Mudule командасын таңдаңыз;
  • суреті бар белгішені басу арқылы сақтау;
  • олар, айталық, кодекстің жобасын жазады.

Бұл келесідей көрінеді:

Қосымша бағдарлама()

«Біздің код

«Біздің код» жолы басқа түспен (жасыл) бөлектелетінін ескеріңіз.Себебі жолдың басына қойылған апостроф, бұл түсініктемеден кейін келетінін білдіреді.

Енді сіз кез келген кодты жазып, өзіңіз үшін жаңа құрал жасай аласыз VBA Excel(төмендегі бағдарламалардың мысалдарын қараңыз). Әрине, бұл Visual Basic негіздерімен таныстар үшін әлдеқайда жеңіл болады. Дегенмен, оларда жоқ адамдар да қаласа, тез үйреніп кете алады.

Excel бағдарламасындағы макростар

Бұл атау Visual Basic for Application бағдарламасында жазылған бағдарламаларды жасырады. Осылайша, Excel бағдарламасында бағдарламалау макростар жасау болып табылады қажетті код. Осы мүмкіндіктің арқасында Microsoft электрондық кесте процессоры белгілі бір пайдаланушының талаптарына бейімделе отырып, өзін дамытады. Макростарды жазу үшін модульдерді қалай жасау керектігін түсініп, сіз қарастыруды бастай аласыз нақты мысалдар VBA Excel бағдарламалары. Ең қарапайым кодтардан бастаған дұрыс.

1-мысал

Тапсырма: бір ұяшық мазмұнының мәнін көшіріп, екінші ұяшыққа жазатын бағдарлама жазыңыз.

Осыған:

  • «Көру» қойындысын ашыңыз;
  • «Макростар» белгішесіне өтіңіз;
  • «Макрос жазу» түймесін басыңыз;
  • ашылатын пішінді толтырыңыз.

Қарапайым болу үшін «Макрос атауы» өрісінде «Макро1» қалдырып, «Пернелер тіркесімі» өрісіне, мысалы, hh енгізіңіз (бұл бағдарламаны «Ctrl+h» жылдам пәрменімен іске қосуға болатындығын білдіреді). Enter пернесін басыңыз.

Макрос жазу қазірдің өзінде басталғандықтан, ұяшықтың мазмұны басқасына көшіріледі. Бастапқы белгішеге оралыңыз. «Макро жазу» түймесін басыңыз. Бұл әрекет бағдарламаның аяқталуын білдіреді.

  • «Макростар» жолына оралыңыз;
  • тізімнен «Макро 1» таңдаңыз;
  • «Іске қосу» түймесін басыңыз (сол әрекет «Ctrl+hh» пернелер тіркесімін бастау арқылы іске қосылады).

Нәтижесінде макросты жазу кезінде орындалған әрекет орын алады.

Кодтың қалай көрінетінін көру мағынасы бар. Мұны істеу үшін «Макростар» жолына оралып, «Өзгерту» немесе «Кіру» түймесін басыңыз. Нәтижесінде олар өздерін VBA ортасында табады. Іс жүзінде макрокодтың өзі Sub Macro1() және End Sub жолдарының арасында орналасқан.

Егер көшіру, мысалы, A1 ұяшығынан C1 ұяшығына орындалса, код жолдарының бірі Ауқым («C1») сияқты болады.Таңдаңыз. Аударылғанда «Ауқым («C1»).Таңдау» сияқты көрінеді, басқаша айтқанда, ол VBA Excel бағдарламасына, C1 ұяшығына өтеді.

Кодтың белсенді бөлігі ActiveSheet.Paste командасы арқылы аяқталады. Бұл таңдалған ұяшықтың мазмұнын (бұл жағдайда A1) таңдалған C1 ұяшығына жазуды білдіреді.

2-мысал

VBA циклдері Excel бағдарламасында әртүрлі макростарды жасауға көмектеседі.

VBA циклдері әртүрлі макростарды жасауға көмектеседі. Бізде y=x + x 2 + 3x 3 - cos(x) функциясы бар делік. Оның графигін алу үшін макрос құру керек. Мұны тек VBA циклдері арқылы жасауға болады.

Функция аргументінің бастапқы және соңғы мәндері x1=0 және x2=10. Бұған қоса, тұрақты мәнді енгізу керек - аргумент өзгерту қадамының мәні және санауыш үшін бастапқы мән.

Барлық VBA Excel макрос мысалдары жоғарыда көрсетілген процедураны пайдаланып жасалады. Бұл жағдайда код келесідей көрінеді:

Қосымша бағдарлама()

қадам = 0,1

x1 кезінде орындаңыз< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Ұяшықтар(i, 1).Мәні = x1 (x1 мәні координаталары (i,1) ұяшыққа жазылады)

Ұяшықтар(i, 2).Мәні = y (y мәні координаталары (i,2) ұяшыққа жазылады)

i = i + 1 (есептегіш күшінде);

x1 = x1 + shag (аргумент қадам мәні бойынша өзгереді);

Аяқтау қосалқы.

Бұл макросты Excel бағдарламасында іске қосу нәтижесінде біз екі баған аламыз, олардың біріншісінде x үшін, екіншісінде у үшін мәндер бар.

Содан кейін олардан Excel үшін стандартты түрде график құрастырылады.

3-мысал

Басқа нұсқалардағы сияқты VBA Excel 2010 жүйесінде циклдарды енгізу үшін бұрыннан берілген Do While құрылымымен бірге For пайдаланылады.

Баған жасайтын бағдарламаны қарастырайық. Оның әрбір ұяшығына сәйкес жол нөмірінің квадраттары жазылады. For конструкциясын пайдалану оны есептегішті қолданбай-ақ өте қысқа жазуға мүмкіндік береді.

Алдымен жоғарыда сипатталғандай макрос жасау керек. Содан кейін біз кодтың өзін жазамыз. Біз 10 ұяшық үшін мәндерге қызығушылық танытамыз деп есептейміз. Код келесідей көрінеді.

i = 1-ден 10-ға дейін Келесі

Пәрмен «адам» тіліне «1-ден 10-ға дейін бір қадаммен қайталаңыз» деп аударылады.

Егер тапсырма квадраттары бар бағанды ​​алу болса, мысалы, 1-ден 11-ге дейінгі диапазондағы барлық тақ сандардан, онда біз жазамыз:

i = 1-ден 10-ға дейін 1-қадам Келесі.

Мұнда қадам - ​​бұл қадам. Бұл жағдайда ол екіге тең. Әдепкі бойынша, циклде бұл сөздің болмауы қадамның жалғыз екенін білдіреді.

Алынған нәтижелер нөмірленген (i,1) ұяшықтарда сақталуы керек. Содан кейін, цикл басталған сайын, i қадам өлшеміне ұлғайған сайын жол нөмірі автоматты түрде артады. Осылайша код оңтайландырылатын болады.

Жалпы код келесідей болады:

Қосымша бағдарлама()

i = 1-ден 10-ға дейін 1-қадам (сіз жай ғана For i = 1-ден 10-ға дейін жаза аласыз)

Ұяшықтар(i, 1).Мәні = i ^ 2 (яғни i квадратының мәні (i,1) ұяшығына жазылады)

Әрі қарай (белгілі бір мағынада есептегіш рөлін атқарады және циклдің басқа басын білдіреді)

Аяқтау қосалқы.

Макросты жазуды және іске қосуды қоса алғанда, бәрі дұрыс орындалса (жоғарыдағы нұсқауларды қараңыз), онда сіз оны шақырған сайын сіз көрсетілген өлшемдегі бағанды ​​аласыз (бұл жағдайда 10 ұяшықтан тұрады).

4-мысал

IN Күнделікті өмірКөбінесе қандай да бір жағдайға байланысты бір немесе басқа шешім қабылдау қажеттілігі туындайды. VBA Excel бағдарламасында оларсыз жасай алмайсыз. Алгоритмнің әрі қарай орындалу барысы таңдалған және бастапқыда алдын ала анықталмаған бағдарламалар мысалдары, көбінесе If ...Then конструкциясын (күрделі жағдайлар үшін) If ...Then ...END If пайдаланады.

Нақты бір жағдайды қарастырайық. (1,1) координаталары бар ұяшықта төмендегілер жазылуы үшін Excel бағдарламасына макрос жасау керек делік:

1 аргумент оң болса;

0 аргумент нөл болса;

-1, егер аргумент теріс болса.

Excel үшін мұндай макрос құру басталады стандартты түрде, Alt және F11 жылдам пернелерін пайдалану арқылы. Әрі қарай келесі код жазылады:

Қосымша бағдарлама()

x= Ұяшықтар(1, 1).Мән (бұл пәрмен x координаттарындағы ұяшық мазмұнының мәнін (1, 1) тағайындайды)

Егер x>0 болса, онда ұяшықтар(1, 1).Мәні = 1

Егер x=0 болса, онда ұяшықтар(1, 1).Мәні = 0

Егер x<0 Then Cells(1, 1).Value = -1

Аяқтау қосалқы.

Тек макросты іске қосу және Excel бағдарламасындағы аргумент үшін қажетті мәнді алу ғана қалады.

VBA функциялары

Сіз байқаған боларсыз, Microsoft корпорациясының ең танымал электрондық кесте процессорында бағдарламалау соншалықты қиын емес. Әсіресе VBA функцияларын пайдалануды үйренсеңіз. Excel және Word бағдарламаларында қосымшаларды жазу үшін арнайы жасалған бұл бағдарламалау тілінде барлығы 160-қа жуық функция бар. Оларды бірнеше үлкен топтарға бөлуге болады. Бұл:

  • Математикалық функциялар. Оларды аргументке қолдана отырып, олар косинустың мәнін, натурал логарифмді, бүтін бөлікті және т.б.
  • Қаржылық функциялар. Олардың қол жетімділігінің және Excel бағдарламасын пайдаланудың арқасында сіз бухгалтерлік және қаржылық есептеулер үшін тиімді құралдарды ала аласыз.
  • Массивтерді өңдеу функциялары. Оларға Array, IsArray; LBound; UBound.
  • Жолға арналған Excel VBA функциялары. Бұл айтарлықтай үлкен топ. Бұған, мысалы, бүтін аргументке тең бос орындар саны бар жолды жасау үшін Space немесе таңбаларды ANSI кодына түрлендіру үшін Asc функциялары кіреді. Олардың барлығы кеңінен қолданылады және Excel бағдарламасында жолдармен жұмыс істеуге мүмкіндік береді, бұл кестелермен жұмыс істеуді айтарлықтай жеңілдететін қолданбаларды жасайды.
  • Деректер түрін түрлендіру функциялары. Мысалы, CVar Өрнек аргументінің мәнін оны Вариант деректер түріне түрлендіру арқылы қайтарады.
  • Күндермен жұмыс істеу функциялары. Олар стандарттыларды айтарлықтай кеңейтеді.Осылайша, WeekdayName функциясы апта күнінің атын (толық немесе жартылай) оның саны бойынша қайтарады. Таймер одан да пайдалы. Ол түн ортасынан күннің белгілі бір нүктесіне дейін өткен секундтар санын береді.
  • Сандық аргументті әртүрлі санау жүйелеріне түрлендіру функциялары. Мысалы, қазан сандарды сегіздікпен шығарады.
  • Пішімдеу функциялары. Олардың ішіндегі ең маңыздысы - Формат. Ол пішім туралы мәлімдемеде көрсетілген нұсқауларға сәйкес пішімделген өрнекпен Вариант мәнін қайтарады.
  • т.б.

Бұл функциялардың қасиеттерін және олардың қолданылуын зерттеу Excel қолдану аясын айтарлықтай кеңейтеді.

5-мысал

Күрделі есептерді шешуге көшуге тырысайық. Мысалы:

Кәсіпорын шығындарының нақты деңгейі туралы есеп беретін қағаз құжаты беріледі. Міндетті:

  • Excel электрондық кестесін пайдаланып оның шаблондық бөлігін әзірлеу;
  • оны толтыру үшін бастапқы деректерді сұрайтын VBA бағдарламасын жасаңыз, қажетті есептеулерді орындаңыз және олармен сәйкес үлгі ұяшықтарын толтырыңыз.

Шешім нұсқаларының бірін қарастырайық.

Үлгі жасаңыз

Барлық әрекеттер Excel бағдарламасындағы стандартты парақта орындалады. Бос ұяшықтар тұтынушы компанияның атауы, шығындар сомасы, олардың деңгейі және айналымы туралы деректерді енгізу үшін сақталған. Есеп құрастырылатын компаниялардың (қоғамдардың) саны белгіленбегендіктен, нәтижелер мен маманның аты-жөні бойынша мәндерді енгізуге арналған ұяшықтар алдын ала сақталмаған. Жұмыс парағына жаңа атау беріледі. Мысалы, «есептер».

Айнымалылар

Үлгіні автоматты түрде толтыратын бағдарламаны жазу үшін белгілерді таңдау керек. Бұл айнымалылар үшін пайдаланылады:

  • NN – ағымдағы кесте жолының нөмірі;
  • ТП және ТФ – жоспарлы және нақты тауар айналымы;
  • SF және SP - шығындардың нақты және жоспарлы сомасы;
  • IP және IF - шығындардың жоспарлы және нақты деңгейі.

Осы баған бойынша жиынтықты бірдей әріптермен, бірақ Itog «префиксі» арқылы белгілейік. Мысалы, ItogTP - «жоспарланған айналым» деп аталатын кесте бағанына сілтеме жасайды.

VBA бағдарламалау арқылы мәселені шешу

Енгізілген белгілерді пайдалана отырып, біз ауытқулардың формулаларын аламыз. Егер сізге % есептеу қажет болса, бізде (F - P) / P * 100, ал барлығы - (F - P).

Бұл есептеулердің нәтижелерін Excel электрондық кестесіндегі сәйкес ұяшықтарға тікелей енгізуге болады.

Нақты және болжамды қорытындылар үшін олар ItogP=ItogP + P және ItogF=ItogF+ F формулалары арқылы алынады.

Ауытқулар үшін = (ItogF - ItogP) / ItogP * 100, егер есептеу пайызбен жүргізілсе, ал жалпы мән болған жағдайда - (ItogF - ItogP) пайдаланыңыз.

Нәтижелер қайтадан сәйкес ұяшықтарға дереу жазылады, сондықтан оларды айнымалыларға тағайындаудың қажеті жоқ.

Құрылған бағдарламаны іске қоспас бұрын, жұмыс кітабын сақтау керек, мысалы, «Report1.xls» атауымен.

Тақырып ақпаратын енгізгеннен кейін «Есеп беру кестесін жасау» түймесін бір рет басу керек. Сіз білуіңіз керек басқа ережелер бар. Атап айтқанда, кестеге әрбір әрекет түріне мәндерді енгізгеннен кейін «Жол қосу» түймесін әр уақытта басу керек. Барлық деректерді енгізгеннен кейін «Аяқтау» түймесін басып, Excel терезесіне ауысу керек.

Енді сіз макростарды пайдаланып Excel мәселелерін шешуді білесіз. Vba excel пайдалану мүмкіндігі (жоғарыдағы бағдарламалардың мысалдарын қараңыз) қазіргі уақытта ең танымал Word мәтіндік редакторында жұмыс істеу үшін қажет болуы мүмкін. Атап айтқанда, мақаланың басында көрсетілгендей жазу немесе код жазу арқылы мәзір түймелерін жасауға болады, соның арқасында мәтінмен көптеген операцияларды кезекші пернелерді басу немесе «Көру» қойындысы арқылы орындауға болады. «Макростар» белгішесі.




Жоғарғы