КомпјутериСофтвер

ВБА Екцел: програми узорка. Макрои у Екцел

Мало људи зна да је прва верзија популарног Мицрософт Екцел производа појавио 1985. године. Од тада је кроз неколико модификација и потражње милиона корисника широм света. Међутим, само многи рад са мало могућности ове табеле, а не знају како би могли да чине живот лакшим за способност у Екцел програма.

Шта је ВБА

Програмирање у Екцел врши Висуал Басиц фор Апплицатион програмском језику, који је првобитно саграђен у најпознатијем табеле из Мицрософта.

На његово заслуга стручњаци приписују релативну лакоћу развоја. Као пракса показује, ВБА може да савлада основе, чак и корисницима који немају професионалне вештине програмирања. За ВБА карактеристике укључују извршење скрипта у окружењу канцеларија апликације.

Недостатак програма су проблеми везани за компатибилност различитих верзија. Они су изазван чињеницом да је ВБА код програма се односи на функционалност која је присутна у новој верзији производа, али не у старом. Ту је велика мана и претерано висока отвореност кода да промени лице странца. Међутим, Мицрософт, и ИБМ Лотус Симпхони омогућава корисницима да се пријаве поставке за шифровање кода улазак и лозинку да бисте је видели.

Објекти, збирке, својства и методе

То је са овим концептима морате да схватите оне који ће радити у ВБА окружењу. Пре свега, морате разумети шта је објекат. У Екцел, у овом акту, као лист, књиге, и опсег ћелија. Ови објекти имају посебну хијерархију, то јест слушају једни друге.

Главни међу њима је апликација, одговарајући Екцел програма сама. А затим Радне свеске, радних листова и опсег. На пример, да се односи на ћелију А1 на одређену листу мора показивати пут, узимајући у обзир хијерархију.

Што се тиче концепта "колекције", ова група објеката исте класе, у којој је снимање дат ЦхартОбјецтс. Његови елементи су објекти.

Следећа ствар - својства. Они су неопходна карактеристика било ког објекта. На пример, за Ранге - представља Вредност или Формула.

Методе - је наредба да се покаже да желите да се. Приликом писања кода у ВБА да буду одвојени од објекта тачке. На пример, као што ће бити показано касније, врло често када програмирање у команди "Екцел" користе ћелије (1,1) Изаберите картицу. То значи да је потребно изабрати ћелију са координатама (1,1), тј А1.

Међутим, често се користи Селецтион.ЦлеарЦонтентс. Његова имплементација чишћење садржај изабране ћелије.

Како почети

Пре свега, желите да направите датотеку и сачувајте је, доделити име и изаберите тип «Боок Екцел макро-омогућен."

Затим, идите на апликацију ВБ, што је довољно да користе комбинацију «Алт» кључа и «Ф11». следећи:

  • у менију на врху прозора, кликните на икону поред иконе Екцел;
  • Мудуле селецтед команду;
  • држати кликом на иконицу са флопи диск;
  • писати, рецимо, код контуре.

То изгледа овако:

Суб програма ()

"Наш код

Крај суб

Имајте на уму да је линија "" Наш код "ће бити истакнут у другој боји (зелена). Разлог за овај апостроф, достављен на почетку низа, што указује да је оно што следи је коментар.

Сада можете да пишете било код и створи себи нову алатку у ВБА Екцел (види узорке програми и сл.). Наравно, они који су упознати са основама Висуал Басиц, то ће бити много лакше. Међутим, чак и они који немају, ако желите да будете у стању да удобно прилично брзо.

Макрои у Екцел

Иза овог имена крије програме писане у Висуал Басиц фор Апплицатион језику. Према томе, програмирање у Екцел - је да се створи макро до жељеног кода. Са овим могућностима Мицрософт табела себе развија, прилагођава захтевима одређеног корисника. Пошто се бавила како да направите модуле за писање макроа, могуће је да се настави са конкретним примерима ВБА Екцел програма. Најбоље је да се почне са најосновнијим кодова.

ПРИМЕР 1

Задатак: Написати програм који ће копирати вредност садржаја једне ћелије, а затим пишу на други.

Да се то уради:

  • отворите картицу "Виев";
  • Померите иконицу "макроа";
  • схаке у "Рецорд Мацро";
  • попуните формулар отворен.

Због једноставности, у "Мацро Наме" остави "Макрос1" и у "Схортцут кеи" је уметнута, на пример, ХХ (то значи да можете покренути пример програм ће бити «Цтрл + Х» Блитз тим). Притисните Ентер.

Сада када сте почели снимање макроа, чине садржај у другу ћелију. Повратак на икону оригинални. Кликните на "Рецорд Мацро". Ова акција обележава завршетак аплетима.

следећи:

  • поново креће у низу "Мацрос";
  • је изабран на листи "Мацро 1";
  • цлицк "Рун" (исти акција почиње покренута пречица са тастатуре «Цтрл + ХХ»).

Као резултат тога, акција која је спроведена током снимања макро.

Има смисла да се види како код изгледа. Да бисте то урадили, да се вратимо у низу "Мацрос" и кликните на "Едит" или "Ентер". Као резултат тога, они се налазе у ВБА окружењу. Заправо, сама код налази између редова макро Макрос1 Суб () и Енд Суб.

Ако је извршена копирање, на пример, из ћелије А1 у ћелији Ц1, једна од линија кода ће изгледати Ранге ( "Ц1"). Селецт. У преводу, то изгледа као "Ранге (" Ц1 "). Изаберите", другим речима, чини прелаз ка ВБА Екцел, у ћелији Ц1.

Активни део кода комплетира АцтивеСхеет.Пасте тим. То значи снимање садржаја изабране ћелије (у овом случају, А1) у одабраној ћелији Ц1.

ПРИМЕР 2

ВБА циклуса помогну у стварању различитих макрое у Екцел.

ВБА циклуса помоћи у стварању различитих макроа. Претпоставимо да постоји функција и = к + к 3 + 3к 2 - цос (к). Желите да направите макро за своје графику. Ово се може урадити само помоћу ВБА циклуса.

За иницијалног и финалног вредности аргумента изводи к1 = 0 и к2 = 10. Поред тога, потребно је увести константу - вредност за корак мења аргумент и почетну вредност за пулта.

Све примери ВБА Екцел макроа су створили користећи исту процедуру као што је наведено у претходном тексту. У овом конкретном случају, код изгледа овако:

Суб Програм ()

к1 = 1

к2 = 10

схаг = 0.1

и = 1

Да Док к1 <к2 (петља ће трајати до израз је истина к1 <к2)

и = к1 + к1 ^ 2 + 3 * к1 ^ 3 - Цос (к1)

Целлс (и, 1) .Валуе = к1 (к1 вредности записано у меморији са координатама (И, 1))

Целлс (и, 2) .Валуе = и (и вредност записано у ћелији са координатама (и, 2))

И = И + 1 (важећи цоунт);

к1 = к1 + схаг (аргумент се мења у величине корака);

петља

Крај суб.

Као резултат овог уочи макро "предњаче" добила две колоне, од којих је први су снимљене вредности за к, а други - да се и.

Затим заказати у стању да граде на њима, стандард за "Екцел".

ПРИМЕР 3

Да спроведу циклусе у ВБА Екцел 2010, као иу другим верзијама, уз већ смањене До Иако дизајн користи.

Размислите програм који креира колону. У свакој ћелији ће бити забележено квадрате одговарајуће броја линије. За коришћење дизајна ће омогућити да се сними врло кратко, без употребе контра.

Прво је потребно да се створи макро, како је горе описано. Затим, напишите саму код. Верујемо да смо заинтересовани за вредности за 10 ћелија. Код је следећи.

Фор и = 1 до 10 Нект

Команда се преноси "људске" језику, као "поновљено од 1 до 10 у корацима од једног."

Ако је задатак да прими колону са трговима, на пример, сви непарни бројеви између 1. и 11., пишемо:

Фор и = 1 до 10 корака 1 Нект.

Овде, корак - корак. У овом случају, то је једнако два. По дефаулту, одсуство речи у петљи значи да једном кораку.

Резултати морају да буду сачувани у броју ћелија (и, 1). Онда сваки пут када покренете циклус са порастом вредности од улазим ће аутоматски расти и линија број. Стога, биће оптимизација кода.

У принципу, код би изгледао овако:

Суб програма ()

За и = 1 до 10 Корака 1 (може се написати само за и = 1 до 10)

Целлс (и, 1) .Валуе = и ^ 2 (тј квадрат вредност записано у ћелију (и, 1) и)

Следећа (у смислу игра улогу контра средстава и других почетак циклуса)

Крај суб.

Уколико се ради правилно, укључујући снимање и трчање макроа (види. Горенаведена упутства), онда се назива сваки пут дати величина ће се добити колону (у овом случају састоји од 10 ћелија).

ПРИМЕР 4

У свакодневном животу, врло често је неопходно да се овај или ту одлуку у зависности од неких услова. Не може без њих у ВБА Екцел. Примери програма где је даљи ток алгоритма одабрана уместо првобитно предодређена, најчешће коришћен дизајн Иф ... Тхен (за тешке случајеве) Иф ... Тхен ... ЕНД Иф.

Размотримо конкретног случаја. Претпоставимо да желите да креирате макро за "Екцел" у ћелију са координатама (1,1) је забележен:

1 ако је аргумент је позитиван;

0 ако је аргумент нула;

1, ако је аргумент негативан.

Стварање такве макро за "Екцел" почиње на стандардан начин, кроз употребу "хот" тастера Алт и Ф11. Даље писани следећи код:

Суб програма ()

к = Целлс (1, 1) .Валуе (Ова команда додељује вредност к координата садржаја ћелијских (1, 1))

Ако је к> 0 Тада Целлс (1, 1) .Валуе = 1

Ако је к = 0 онда Целлс (1, 1) .Валуе = 0

Ако је к <0 онда Целлс (1, 1) .Валуе = -1

Крај суб.

Остаје да покренете макро и да у "Екцел" жељену вредност за аргумент.

ВБА функције

Као што сте можда приметили, у најпознатијем програма Мицрософт табеларне апликације није превише тешко. Поготово ако научите да користите ВБА функције. Укупно, ово програмски језик је направљена специјално за писање апликација у "Екцел" и Речи, око 160 функција. Они се могу поделити у неколико великих група. То су:

  • Математичких функција. Примењујући их на аргумента Цосине вредности се добија, природни логаритам, и тако цео део.
  • Финансијски функције. Због своје доступности и коришћења програма у Екцел, можете добити ефикасне алате за рачуноводство и финансијске насеља.
  • обрада арраи функције. Ово укључује Арраи, ИсАрраи; ЛБоунд; УБоунд.
  • ВБА Екцел функционишу на линију. То је прилично велика група. То укључује, на пример, функција простор стварању низа са низом празнине једнаком целобројна аргумента или АСЦ трансфера симболе у АНСИ коду. Сви они су у широкој употреби и омогућавају да радите са жице у "Екцел" да се створи много лакше радити са овим табелама апликације.
  • Тип података функције конверзије. На пример, цвар враћа Екпрессион аргумент, претварајући га Вариант тип података.
  • Датум функције. Они знатно проширити стандардне карактеристике "Екцел". Дакле, функција ВеекдаиНаме враћа име (пуну или делимичну) дана у недељи по свом броју. Чак и корисније је тајмер. Он даје број секунди колико је прошло од поноћи до одређеног тренутка дана.
  • Функционишу тако да претворити нумерички аргумент у различитим системима број. На пример, окт излази на окталном заступљености броја.
  • форматирање фунцтионс. Најважнији од њих је формат. Враћа варијанта са изразом форматиран у складу са упутствима датим у опису формата.
  • и тако даље.

Студија о особинама ових функција и њихова примена ће значајно проширити обим "Екцел".

Пример 5

Хајде да покушамо да решимо сложенијих проблема. На пример:

Дан папирни документ стварни ниво трошкова извјештаја предузећа. zahteva:

  • развије свој шаблон део од табелу "Екцел";
  • направити програм ВБА који ће питати за сирови подаци да је испуни, да изврше неопходне прорачуне и попуните шаблону одговарајућег ћелије.

Размислите један од следећих решења.

Креирање шаблона

Све активности се врше на стандардном лист у Екцел. Фрее ћелије резервисани за унос података о месец, година, насловом-потрошачких компанија, износ трошкова, њихов ниво промета. Како се број фирми (фирми), у погледу којих није уписано у извештају, ћелије да би на основу вредности и професионалне име није резервисано унапред. Радни добио ново име. На пример, "Օ извештај".

варијабле

Да бисте написали програм аутоматски попуни у шаблону, изаберите запис. Они ће се користити за варијабле:

  • НН- број тренутног реда табеле;
  • ТП и ЕЦ - планиране и стварне промет;
  • СФ и СП - стварне и планиране укупни трошкови;
  • ИП и АКО - планирана и ниво стварних трошкова.

Ми означавају истим словима, али са "префикс» ИТОГ акумулација укупно за ту колону. На пример, ИтогТП - Што се тиче колоне под називом, као "планираног промета."

Решење овог проблема коришћењем ВБА програмирања

Коришћењем овог нотацију, добијамо формулу за варијансе. Ако желите да изврши обрачун у% имамо (П - П,) / н * 100, а у износу од - (П - П).

Резултати ових прорачуна могу бити најбоље да се "Екцел" табелу у одговарајућим ћелијама.

За исход и прогнозу у ствари добијене формулама ИтогП = ИтогП + П и ИтогФ = ИтогФ + Ф.

За одступања користити = (ИтогФ - ИтогП) / ИтогП * 100 ако се обрачун врши у процентима, а ако укупна вриједност - (ИтогФ - ИтогП).

Резултати поново забележено у одговарајућим ћелијама, тако да нема потребе да их доделите варијабли.

Пре почетка направи програм желите да сачувате радну свеску, на пример, под називом "Отцхет1.клс".

Притисните "Направи табелу за извештавање," морате да притиснете само 1 пут након уласка информације за заглавље. Требало би да знате и друга правила. Посебно, дугме "Додај линију" мора да се притисне сваки пут након уласка у табелу вредности за сваку активност. Након уноса свих података потребних да притиснете дугме "Заврши", а затим пребацити у "Екцел" у прозору.

Сада знате како ријешити задатке за Екцел помоћу макроа. Могућност примене вба екцел (примери програма, види горе) можда ће бити потребан за рад у окружењу најпопуларнијег уређивача текста "Ворд". Конкретно, можете написати, као што је приказано на самом почетку чланка, или кроз писање кода креирати мени дугмад, захваљујући којој се многе операције на тексту могу извршити притискањем тастера или кроз картицу "Преглед" и иконе "Макрои".

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sr.birmiss.com. Theme powered by WordPress.