Компјутери, Софтвер
Excel VBA: мостра програми. Макроа во Excel
Малкумина знаат дека првата верзија на популарниот производ на Microsoft Excel се појави во 1985 година. Од тогаш таа претрпе неколку измени и побарувачката на милиони корисници од целиот свет. Сепак, многу работа само со малку можности на овој табела и дури и не знаат како тие може да го направи животот полесен за способност за програмирање Excel.
Што е VBA
Програмирање во Excel е направено од страна на Visual Basic за апликација програмски јазик кој првично беше изграден во најпознатите табела од Microsoft.
Неговите заслуги експерти сметаат релативната леснотија на развој. Како што покажува практиката, VBA да го совладате основите, па дури и на корисниците кои немаат професионални програмски вештини. За VBA функции вклучуваат извршување скрипта во средина на канцелариски апликации.
Во недостаток на програмата се проблемите поврзани со компатибилноста на различните верзии. Тие се предизвикани од фактот дека VBA код на програмата се однесува на функционалност која е присутна во новата верзија на производот, но не и во стариот. Исто така, постои голем недостаток и претерано високи отвореност на код за да го промени лицето на странец. Сепак, Microsoft Office, и IBM Lotus Symphony им овозможува на корисниците да се применуваат енкрипција влез код и лозинка поставувања, за да ја видите.
Предмети, збирки, својства и методи
Тоа е со овие концепти треба да се разбере оние кои се случува да работат во средина VBA. Прво на сите, вие мора да разберат што објектот е. Во Excel, во овој чин како лист, книга, и мобилни опсег. Овие објекти имаат посебни хиерархија, т.е. почитуваат едни со други.
Главен меѓу нив е апликација, соодветните самата програма Excel. Проследено работни книги, работни листови, и се движат. На пример, да се однесуваат на ќелијата А1 на одредена состојба мора да се укаже на патот, земајќи ги во предвид хиерархија.
Во однос на концептот на "собирање", оваа група на предмети од иста класа, во која снимање е даден ChartObjects. Нејзините елементи се исто така објекти.
Следното нешто - својства. Тие се неопходни функција на секој објект. На пример, за опсег - е на вредност или формула.
Методи - е команда за да се покаже дека сакате да се направи. Кога пишувате код во VBA нив да бидат одделени од гледна точка на објектот. На пример, како ќе бидат прикажани подоцна, многу често кога програмирање во командата "Excel" употреба ќелии (1,1) .Select. Тоа значи дека е потребно да се избере на мобилен со координати (1,1), т.е. А1.
Сепак, тоа често се користи Selection.ClearContents. Неговата имплементација е расчистување на содржината на избраната ќелија.
Како да започнете
Прво на сите, сакаш да се создаде датотека и да го спаси, доделите име и изберете го типот на "Книга Excel макро-от."
Потоа, одат на барањето на VB, што е доволно да се користи комбинација на "Alt" копчето и «F11». Следно:
- во лента со мени на врвот на прозорецот, кликнете на иконата веднаш до иконата Excel;
- Mudule избраните команда;
- задржи кликнување на иконата со флопи диск;
- пишуваат, да речеме, кодот контури.
Тоа изгледа како што следува:
Под програма ()
"Нашата код
Под крајот
Ве молиме имајте предвид дека линијата "" Нашите код "ќе биде обележана во различни бои (зелена). Причината за ова апостроф, донесено на почетокот на стрингот, што покажува дека она што следи е коментар.
Сега можете да напишете било код и да се создаде за себе нова алатка во Excel VBA (види примерок програми итн.). Се разбира, оние кои се запознаени со основите на Visual Basic, тоа ќе биде многу полесно. Сепак, дури и оние кои не се, ако сакате да бидете во можност да се чувствуваме удобно доста брзо.
Макроа во Excel
Зад ова име се крие програми напишани во Visual Basic за јазикот апликација. Така, на програмирање во Excel - е да се создаде макро до посакуваната код. Со оваа можност, Microsoft табела самостојно се развива, да се адаптира на барањата на одреден корисник. Да се занимава со тоа како да се создаде модули за пишување макроа, можно е да се продолжи со конкретни примери на Excel VBA програма. Тоа е најдобро да се почне со најосновните кодови.
ПРИМЕР 1
Задача: Напиши програма со која ќе копија на вредноста на содржината на една ќелија, а потоа пишува на друг.
За да го направите ова:
- отворете го табот "View";
- се движи на иконата "макроа";
- се тресат на "Рекорд Макро";
- пополни отвори форма.
За едноставност, во "Макро името" напушти "Makros1" и во "кратенка" е вметната, на пример, hh (тоа значи дека можете да го извршите пример програма ќе биде "Ctrl + H» Блиц тим). Притиснете Enter.
Сега дека сте го започна снимањето на макро, ја сочинуваат содржината на ќелија во друга. Врати се на оригиналната икона. Кликнете на "Рекорд Макро". Оваа акција претставува заокружување на аплети.
Следно:
- повторно да се пресели во низа "макроа";
- е избран во листата "Макро 1";
- кликнете на "Стартувај" (исто започнува акција Започна скратеници «Ctrl + hh»).
Како резултат на тоа, акција, која беше изведена за време на снимањето на макро.
Логично е да се види како го кодот личи. Да го направите ова, се врати стринг "макроа" и кликнете на "Уредување" или "Enter". Како резултат на тоа, тие се наоѓаат во околината VBA. Всушност, самиот код се наоѓа помеѓу линиите макро Makros1 Под () и Под крајот.
Ако копирање е извршена, на пример, од ќелијата А1 во ќелијата C1, една од линиите на кодот ќе изгледа опсег ( "C1"). Одберете. Во превод, тоа изгледа како "опсег (" C1 "). Изберете", со други зборови, го прави да премине во Excel VBA, во ќелијата C1.
Активен дел од кодот заврши ActiveSheet.Paste тим. Тоа значи снимање на содржини избраната ќелија (во овој случај, А1) во избраната ќелија Ц1.
ПРИМЕР 2
VBA циклуси помогне да се создаде различни макроа во Excel.
VBA циклуси помогне да се создаде различни макроа. Претпостави дека постои функција y = x + x 3 + 3x 2 - cos (x). Сакате да се создаде макро за графика. Ова може да се направи само со користење VBA циклуси.
За почетната и крајната вредност на аргументот функции се x1 и x2 = 0 = 10. Исто така, тоа е потребно да се воведе постојано - вредноста за чекор менува аргумент и почетна вредност за шанкот.
Сите примери на Excel VBA макроа се креирани со користење на истата постапка како што е наведено погоре. Во конкретниов случај, кодот изгледа вака:
Под програма по ()
X1 = 1
x2 = 10
рунтав = 0,1
i = 1
Дали Додека x1
y = x1 + X1 ^ 2 + 3 * X1 ^ 3 - COS (X1)
Ќелии (i, 1) .Value = X1 (X1 вредноста напишан во меморија со ширина (i, 1))
Ќелии (i, 2) .Value = y (y вредноста не е напишан во ќелија со ширина (i, 2))
i = i + 1 (важи број);
X1 = x1 + рунтав (аргументот е изменета на големината на чекор);
јамка
Под крајот.
Како резултат на овој рок макро "Excel" добие две колони, првиот на кој се снимени на вредности за x, а вториот - на y.
Закаже во можност да се изгради врз нив, стандард за "Ексел".
ПРИМЕР 3
За спроведување на циклуси во Excel VBA 2010 година, како и во другите верзии, заедно со веќе намалена направите додека дизајн се користи за.
Размислете за програма со која создава колона. Во секоја клетка тоа ќе биде снимен плоштади соодветниот број линија. За користење на дизајн ќе ви овозможи да ја снимат многу кратко, без употреба на контра.
Прво тоа е потребно да се создаде макро, како што е опишано погоре. Следно, напишете го кодот себе. Ние веруваме дека ние сме заинтересирани за вредностите за 10 клетки. Кодот е како што следува.
За i = 1 до 10 Следна
Командата која се пренесува на "човечкото" јазик, како ", повтори 1-10 во интервали од еден."
Ако задача да ја прими колона со плоштади, на пример, сите непарни броеви помеѓу 1 и 11, ќе напише:
За i = 1 до 10 чекор 1 Next.
Еве, чекор - чекор. Во овој случај, тоа е еднакво на два. По дифолт, во отсуство на зборот во јамка значи дека еден чекор.
Резултатите треба да се чуваат во ќелија број (i, 1). Потоа, секој пат кога ќе започне циклусот со зголемување на вредноста на i чекор автоматски ќе се зголеми и бројот линија. Така, ќе има кодот оптимизација.
Во принцип, кодот ќе изгледа вака:
Под програма ()
За i = 1 до 10 Чекор 1 (може да се запише само за i = 1 до 10)
Ќелии (i, 1) .Value = i ^ 2 (т.е. квадратни вредноста не е напишан во клетката (i, 1) i)
Следна (во смисла ја игра улогата на контра средства и уште еден циклус на проектот)
Под крајот.
Ако се направи правилно, вклучувајќи снимање и водење на макроа (види. Инструкциите погоре), тогаш тоа се нарекува секој пат дадената големина ќе бидат добиени колона (во овој случај се состои од 10 клетки).
Пример 4
Во секојдневниот живот, многу често тоа е неопходно да се преземат ваква или онаква одлука во зависност од одредени услови. Не може без нив во Excel VBA. Примери на програми во натамошниот тек на алгоритам е избран наместо првично предодредена, кои најчесто се користат за дизајн на ... Ако Потоа (за тешки случаи) ако ... тогаш ... Ако крајот.
Сметаат дека во конкретниот случај. Да речеме дека сакате да се создаде макро за "Ексел" на ќелијата со координати (1,1) е запишано:
1 ако аргументот е позитивен;
0 ако аргументот е нула;
1, ако аргументот е негативен.
Создавање на таков макро за "Ексел" почнува на стандарден начин, преку употреба на "жешки" копчиња Alt и F11. Дополнителни писмени следниов код:
Под програма ()
x = ќелии (1, 1) .Value (Оваа команда ја доделува на вредноста на x координатите на содржината на клетката (1, 1))
Ако x> 0, тогаш ќелии (1, 1) = 1 .Value
Ако x = 0, тогаш ќелии (1, 1) = 0 .Value
Ако x <0, тогаш клетки (1, 1) .Value = -1
Под крајот.
Останува да се кандидира на макро и да стапат во "Excel" саканата вредност за аргумент.
VBA функции
Како што може да се забележи, во најпознатите програма на Мајкрософт програма за табеларни не е премногу тешко. Особено ако научат како да се користи VBA функции. Севкупно, оваа програмски јазик создаден специјално за пишување апликации во "Ексел" и Словото, околу 160 функции. Тие можат да бидат поделени во неколку големи групи. Тие се:
- Математички функции. ги применуваат на аргументот од вредност на косинус е добиен, природниот логаритам, така и на целиот дел.
- Финансиски функции. Се должи на нивната достапност и користење на програмирање во Excel, може да се добијат ефективни алатки за сметководство и финансиско населби.
- обработка низа функции. Тие вклучуваат низа, IsArray; LBound; UBound.
- VBA за Excel функционира линијата. Ова е прилично голема група. Тоа вклучува, на пример, простор функција да се создаде низа со голем број на недостатоци еднаква на аргументот на цел број или константен трансфери симболи со ANSI код. Сите од нив се широко се користи и ќе ви овозможи да се работи со жици во "Ексел" за да креирате апликации многу полесно да се работи со овие табели.
- за конверзија на тип на податок. На пример, CVar враќа изразување аргумент, конвертирање на типот податоци варијанта.
- Датум на функции. Тие во голема мера се прошири на стандардни карактеристики на "Ексел". Значи, функцијата WeekdayName враќа името (целосно или делумно) на ден во неделата од страна на неговиот број. Дури и повеќе корисни е тајмер. Тој им дава на бројот на секунди кои поминало од полноќ до одреден момент од денот.
- Функција за претворање на нумерички аргумент во различен број системи. На пример, октомври излези на октални застапеност на број.
- форматирање функции. Најважната од овие е формат. Тој се враќа варијанта со израз форматирана во согласност со упатствата дадени во описот на формат.
- и така натаму.
Проучувањето на својствата на овие функции и нивната примена значително ќе го прошири опсегот на "Ексел".
ПРИМЕР 5
Ајде да се обидеме да го решат посложени проблеми. На пример:
документ Дан хартија реалното ниво на трошоци на извештајот на претпријатието. бара:
- развие своите модел дел од табела "Ексел";
- VBA направи програма што ќе побара за сурови податоци да го пополнат, за извршување на потребните пресметки и да се пополни во дефиниција на соодветната ќелија.
Сметаат дека една од следниве решенија.
Креирање на образец
Сите активности се изведуваат на стандарден лист во Excel. Слободен клетки се задржани за внесување на податоци за месец, година, насловот-потрошувачите компании, износот на трошоците, нивното ниво на промет. Како што бројот на компании (компании), во однос на кои во извештајот не е снимен, клетките да се направи врз основа на вредности и професионалните име не се задржани однапред. Работен лист доделен на ново име. На пример, "Օ извештај".
променливи
За да напишете програмата автоматски се пополни во дефиниција, изберете нотација. Тие ќе се користат за варијабли:
- NN- број на тековната ред од табелата;
- Амо и TF - планирани и реализирани промет;
- СФ и СП - фактичката и планираната вкупните трошоци;
- IP и IF - планиран и нивото на реалните трошоци.
Го означуваме со истите букви, но со "префикс» Itog акумулација Вкупниот за таа колона. На пример, ItogTP - Во однос на колумна насловена како "планираниот обрт."
Решение на проблемот со користење VBA програмирање
Користејќи се со оваа нотација, добиваме формулата за варијансата. Ако сакате да ги извршуваат пресметката во% имаме (F - P) / P * 100, и во износ од - (F - P).
Резултатите од овие пресметки може да биде најдобро е само да се направи "Excel" табела во соодветните клетки.
За исходот и прогноза всушност добиени од формулите ItogP = ItogP + P и ItogF = ItogF + Ф.
За отстапување користат = (ItogF - ItogP) / * 100 ItogP ако пресметката се врши како процент, и ако вкупната вредност - (ItogF - ItogP).
Резултатите уште еднаш се евидентираат на соодветни клетки, така што нема потреба да ги додели на променливи.
Пред да почне да се создаде програма која сакате да се спаси работна книга, на пример, под името "Otchet1.xls".
Притиснете го копчето "Креирај табела известување", мора да притиснете само 1 пат по внесувањето на податоците за насловот. Треба да се знае и други правила. Особено, на копчето "Додај линија" треба да се притисне секој пат по влегувањето во табелата на вредности за секоја активност. По внесување на сите податоци потребни да притиснете на копчето "Заврши", а потоа преминете на "Ексел" во прозорецот.
Сега дека знаете како да се реши проблемот за Excel со макроа. Способноста да се користи VBA Excel (види примерок програми. Над) и можеби ќе треба да се работи во животната средина од најпопуларните во моментот, уредувачот на текст "Слово". Особено, со снимање, како што е прикажано во почетокот на оваа статија, или со пишување на код за да се создаде мени копчиња со кои многумина од работењето на текстот може да се направи со притискање на копчињата на должност или преку иконата "View" и "макроа" табот.
Similar articles
Trending Now