Командите се използват за показване на данни във vba. Кутия за съобщения във VBA Excel - MsgBox

Във VBA входът и изходът (за взаимодействие с потребителя) могат да се извършват в диалогови прозорци. Диалоговият прозорец за въвеждане на стойности се изпълнява от вградената функция InputBox.В полето за въвеждане, реализирано от функцията InputBox, се показва поле за въвеждане на стойността на променлива, в която потребителят трябва да въведе конкретна стойност. След това потребителят трябва да щракне върху бутона OK.

Функция InputBox()има следния синтаксис:

Име на променлива = InputBox(Подкана, , , , , , )

Където аргументи: Prompt или Message е задължителен аргумент, който посочва информационно съобщение в диалоговия прозорец. Всички останали аргументи са незадължителни. Заглавие определя заглавието на прозореца. Фигура 1 показва модул, който използва функцията InputBox.


Ориз. един.

След завършване на модул 2 се появява поле за съобщение „Въвеждане на стойности на променливи“ (фиг. 2), в което трябва да въведете число и да натиснете OK. Диалоговият прозорец (фиг. 2), реализиран от функцията InputBox (фиг. 1), показва: Заглавие на прозореца - Въвеждане на стойности на променливи; Съобщение - Въведете номер; Бутони (по подразбиране) - OK и Cancel; Поле, предназначено за въвеждане на стойности на променливи.


Ориз. 2.

За показване на информация се използват диалогови прозорци със съобщения, реализирани от оператора. MsgBoxили функция MsgBox(). MsgBox може да се използва като изявление. Инструкцията MsgBox показва информация в диалогов прозорец и задава режима да изчака потребителят да натисне бутон.

Инструкцията MsgBox има следния синтаксис:
Подкана за MsgBox, , , ,

Където са аргументите: Prompt или Message – задължителен аргумент, който указва информационното съобщение за показване в прозореца. Всички останали аргументи са незадължителни. Бутони – Бутони, които могат да се използват в диалоговия прозорец за съобщения. В прозореца за съобщения могат да се използват различни бутони (OK, Cancel и др.). Ако не посочите кои бутони да се показват в полето за съобщения, бутонът OK се показва по подразбиране. Освен това в диалоговите прозорци за съобщения могат да се използват различни икони (vbQuestion - icon въпросителен знак, vbExclamation - икона на удивителен знак и др.).

Модулът, в който MsgBox се използва като оператор, е показан на фиг. 3 (оператор MsgBox "3", vbOKCancel, "Изходни стойности").



Ориз. 3

При стартиране за изпълнение на модул 4 се извежда съобщение "Изходни стойности" (фиг. 4), в което трябва да натиснете бутона OK. Прозорецът (фиг. 4), реализиран от оператора MsgBox (фиг. 3), показва: Заглавие на прозореца - Извеждане на стойности; Съобщение - 3; Бутони - OK и Cancel.


Ориз. 4

Например, за да изчислите функция като y = 5 x 2 + 7 x + 9, можете да използвате функцията InputBox и оператора MsgBox (фиг. 5)



Ориз. пет

След изпълнение на модул 5 се показва поле за въвеждане


Ориз. 6

След като въведете число, като 789, и щракнете върху OK, се появява поле за съобщение, което показва резултата от функцията y = 5 x 2 + 7 x + 9.


Ориз. 7

MsgBox може да се използва като функция. Функцията MsgBox() има следния синтаксис: MsgBox (Подкана, , , , ). В този случай в диалоговия прозорец се използват няколко различни бутона. Когато се натисне бутон в диалогов прозорец, функцията MsgBox() връща целочислена стойност, която зависи от това кой бутон е бил натиснат в диалоговия прозорец за съобщение.

" се запознахме накратко с диалоговото съобщение msgbox. Но това беше най-простото информационно съобщение. Сега нека разгледаме по-отблизо работата с функцията MsgBox и всички видове диалогови съобщения.

Синтаксис на функцията MsgBox

Функцията MsgBox има следния синтаксис:

MsgBox( съобщение [, константи на съобщения] [, заглавие] [, hlp помощен файл, помощен контекст] )

Необходимият параметър е "Съобщение", останалото може да се пропусне.

MsgBox „Текст на съобщение

  • Константи за съобщения- позволяват ви да дефинирате вида на диалозите.
  • заглавка– задава заглавието на диалоговата форма.
  • Помощен файлhlpе низов израз, който определя името на помощния файл за диалоговия прозорец.
  • Помощен контексте числов израз, който определя номера на контекста на помощния файл за диалоговия прозорец.

Преглед на диалогов прозорец:

създадено със следната команда:
MsgBox "Текст, съдържащ въпрос", vbYesNo, "Заглавие на съобщението"

За да създадете съобщение като това:

командата ще изглежда така:
MsgBox "Текст, съдържащ въпрос", vbYesNoCancel, "Заглавие на съобщението"

Съобщение като това:

създадено от командата:
MsgBox "Текст, съдържащ въпрос", vbAbortRetryIgnore, "Заглавие на съобщението"

тези. от трите примера в командата се променя само вторият параметър (vbYesNo, vbYesNoCancel, vbAbortRetryIgnore). Това са стойностите (константите), които определят типа на съобщението. Параметрите (vbYesNo, vbYesNoCancel) могат да бъдат заменени с цифрова стойност, например диалоговият прозорец vbYesNo може да бъде извикан чрез въвеждане на 4: MsgBox "Текст, съдържащ въпроса", 4, "Име на съобщение".

Следва пълен списък на константите и техните цифрови еквиваленти:

Постоянна

смисъл

Описание

vbOKOnly

Показва съобщение с бутон Добре

vbOKОтказ

Показва съобщение с бутони ДобреИ Отмяна

vbAbortRetryIgnore

Показва съобщение с бутони прекъсване, повторете, Пропусни

vbYesNoCancel

Показва съобщение с бутони да, Не, Отмяна.

Показва съобщение с бутони даИ Не

vbRetryCancel

Показва съобщение с бутони ПовторетеИ Отмяна

Съобщенията могат да бъдат леко променени. външен вид, задайте бутон по подразбиране, добавете бутон "Помощ", като добавите константи.

Например: MsgBox "Текст, съдържащ въпрос", vbYesNoCancel+vbInformation + vbMsgBoxHelpButton+vbDefaultButton2, „Име на съобщение“ ще създаде съобщение като:

vbинформация- добавя удивителна икона към съобщението
vbMsgBoxHelpButton- добавя бутон "Помощ".
vbDefaultButton2- насочва фокуса към втория бутон (" Не")

По-долу е дадена таблица, изброяваща константи за икони и константи за фокусиране на бутони:

Постоянна

смисъл

Описание

vbCritical

Показва икона критично послание(червен овал с кръст)

vbQuestion

Показва икона от въпросителен знак

vbExclamation

Показва икона от удивителен знак(в жълт триъгълник)

vbинформация

Показва икона информационно съобщение

vbDefaultButton1

Задава фокуса по подразбиране на първия бутон

vbDefaultButton2

Задава фокуса по подразбиране на втория бутон

vbDefaultButton3

Задава фокуса по подразбиране на третия бутон

vbDefaultButton4

Задава фокуса по подразбиране на четвъртия бутон

vbMsgBoxHelpButton

Добавя бутон справка

vbMsgBoxRight

Подравнете текста на съобщението към дясната страна

vbMsgBoxRtlReading

Отразява всички елементи в съобщението (вижте моментна снимка по-долу)

Как да разберете кой бутон в съобщението е щракнал потребителят?

Изборът на потребителя ще бъде определен с помощта на . В някои ситуации можете да използвате .

Например, нека извикаме съобщение, като щракнете двукратно върху LMB върху която и да е клетка на листа. В съответствие с избора на потребителя, ние ще покажем текст в тази клетка.

Създайте нова работна книга на Excel и преминете към режима Visual Basic(Alt+F11). В прозореца на проекта изберете " лист1» и щракнете върху него два пъти LMB.

В прозореца на редактора на код, който се отваря, въведете следната процедура:

Частна подРаботен лист_BeforeDoubleClick( ByValцел Катодиапазон, отменете Като булев)

Ако MsgBox("Текст, съдържащ въпрос", vbYesNo, "Заглавие на съобщението") = vbYes Тогава
Избор = "ДА натиснат"
иначе
Избор = "Натиснат Не"
Край, ако

В условието IF ние сравняваме резултата, върнат от функцията MsgBox с константата vbYes, т.е. ако бутонът е натиснат в съобщението да”, тогава функцията MsgBox връща стойността vbYes (6). Пълен списъкконстанти и техните цифрови еквиваленти по-долу. Сега опитайте лист 1щракнете двукратно върху която и да е клетка.

Забележка: Когато бъде извикано съобщение, изпълнението на програмата спира, докато не бъде получен отговор от потребителя.

Втората опция за извикване на диалоговия прозорец .

Нека създадем втора процедура на лист 2. Кодът на процедурата е както следва:

Частна подРаботен лист_BeforeDoubleClick( ByValцел Катодиапазон, отменете Като булев)
Диммес
mes = MsgBox("Текст, съдържащ въпрос", vbYesNoCancel + vbInformation + vbDefaultButton2, "Заглавие на съобщението")

Изберете Caseмес
случай vbYes: Избор = "ДА Натиснат"
случай vbNo: Избор = "Натиснато НЕ"
случай vbCancel: Избор = "Отказ натиснат"
Край Изберете

В този случай резултатът от извикването на MsgBox се присвоява на променлива меси след това в Select Case се търси съвпадение и според съвпадението се извършват действия.

Това е всичко. По-долу е приложен завършен пример, обсъден в тази статия.

Списък с константи и стойности, върнати от функцията MsgBox:

Постоянна

смисъл

Бутон

vbCancel

Отмяна

прекъсване

Повторете

vbИгнориране

Пропусни

Използване на функцията MsgBox във VBA Excel, нейния синтаксис и параметри. Стойности, върнати от функцията MsgBox. Примери за използване.

Функцията MsgBox във VBA Excel е проектирана да показва съобщение в диалогов прозорец, да изчаква щракване върху бутон и да връща целочислена стойност, показваща кой бутон е щракнат. За по-лесно разбиране, тази статия не обхваща опции, свързани с контекстно-чувствителната помощ и модалността на диалоговия прозорец MsgBox.

Синтаксис на функцията

MsgBox (Подкана [, Бутони ] [, Заглавие ])

Необходимият параметър на функцията MsgBox е Подкана, ако БутониИ Заглавиене са посочени изрично, се използват техните стойности по подразбиране. Освен това, ако не са посочени незадължителни параметри и връщаната стойност не е присвоена на променлива, съобщението не е затворено в скоби:

Пример 1

Sub Test1() MsgBox "Много важно съобщение!" край под

Функционални параметри

*Максимална дължина на параметъра Подканае приблизително 1024 знака и зависи от тяхната ширина.

**В Excel по подразбиране заглавието на MsgBox показва "Microsoft Excel".

Константи на параметрите на бутоните

Вид и брой бутони

Постоянна Описание смисъл
vbOKOnly Показва се само бутона ДОБРЕ. 0
vbOKОтказ Показват се бутони OK и Отказ. 1
vbAbortRetryIgnore Показват се бутони Прекратяване (Прекратяване), Повторен опит (Повтаряне) и Игнориране (Пропускане). 2
vbYesNoCancel Показват се бутони Да (Да), Не (Не) и Отказ (Отказ). 3
vbYesNo Показват се бутони Да (Да) и Не (Не). 4
vbRetryCancel Показват се бутони Повторен опит (Повторение) и Отказ (Отказ). 5

Стил на икона

Постоянна Описание смисъл
vbCritical Показва се критичната икона - Критично съобщение, съобщение за грешка. 16
vbQuestion Показва се иконата на въпрос - Съобщение с въпрос. 32
vbExclamation Показва се иконата с удивителен знак - Предупредително съобщение. 48
vbинформация Показва се иконата за информация - Съобщение. 64

За да видите показаните икони, копирайте кода във вашия модул и изпълнете:

Пример 2

Sub Test2() Dim a As Integer a = MsgBox("Критично съобщение, съобщение за грешка", 16) a = MsgBox("Съобщение за въпрос", 32) a = MsgBox("Предупредително съобщение", 48) a = MsgBox( "Информация Съобщение", 64) Край под

Бутон по подразбиране

Върнати стойности

Постоянна Бутон смисъл
vbOK Добре 1
vbCancel Отмяна 2
vbAbort прекъсване 3
vbRetry Повторете 4
vbИгнориране Пропусни 5
vbДа да 6
vbNo Не 7

Стойността, върната от функцията MsgBox, се използва за избор по-нататъшни действияизпълнима програма в зависимост от натиснатия бутон.

За третия пример, нека зададем следните параметри за първата функция MsgBox:

  • Prompt = "Изберете бутон!"
  • Бутони = 323 (3 (vbYesNoCancel) + 64 (vbInformation) + 256 (vbDefaultButton2))
  • Заглавие = "бутон за избор"

Втората функция MsgBox се използва като просто информационно съобщение с параметри по подразбиране.

Пример 3

Sub Test3() Dim a As Integer a = MsgBox("Select Button!", 323, "Select Button") Ако a = 6 Тогава MsgBox "Щракнахте върху бутона: Да" ElseIf a = 7 Тогава MsgBox "Щракнахте върху бутона : Не " Else MsgBox "Щракнахте върху бутона: Отказ" Край, ако Край на подп

В този пример, в зависимост от бутона, натиснат в първия диалогов прозорец, името на натиснатия бутон се показва във второто съобщение. Имайте предвид, че вторият бутон в първия прозорец на MsgBox, който се отваря, е избран по подразбиране и се задейства при натискане на клавиша Enter.

И какво ще стане, ако първият диалогов прозорец от третия пример се затвори с кръстче? Проверете сами.

1. Функция InputBox

Функцията InputBox има следния синтаксис:

Променлива = InputBox(Prompt[, Title] [, default] [, Xpos] [, Ypos] [, help_file, content])

Тази функция изисква само аргумент. поканаСтойност на аргумента покана- единственият задължителен аргумент за тази функция е текстов низ, който се показва в диалоговия прозорец за въвеждане като съобщение. Този текст трябва да бъде поставен в двойни кавички.

Аргумент заглавка

Аргумент по подразбиранезадава стойността, която се показва по подразбиране в полето за въвеждане, докато потребителят въведе тяхната стойност. Ако този аргумент е пропуснат, полето за въвеждане се показва празно.

Незадължителни аргументи XposИ Yposзадайте позицията на прозореца за въвеждане на екрана. Аргументи помощен_файлИ съдържание

Връщаната стойност на функцията InputBox е стойността, въведена от потребителя в полето за въвеждане.

2. Функция MsgBox

Кутията за съобщения се създава от функцията MsgBox, която има следния синтаксис:

Променлива = MsgBox(Подкана[, Бутони] [, Заглавие [, help_file, съдържание])

Стойност на аргумента покана- единственият задължителен аргумент за тази функция е текстов низ, който се показва като съобщение в диалоговия прозорец. Този текст трябва да бъде поставен в двойни кавички. Обърнете внимание на използването на скоби в синтаксиса на MsgBox - те показват, че в този случай MsgBox е функция, която връща някаква стойност. Ако скобите са пропуснати, тогава за VBA това е знак, че даденият израз не връща стойност. Ако искате да върнете стойност, трябва да използвате код като следния:

Dim i като цяло число

Резултатът от работата на такъв код във VBA ще бъде диалогов прозорец с три бутона "Да", "Не", "Отказ" и с икона удивителен знакв жълтия триъгълник.

Ако не е даден аргумент Бутони, тогава VBA предлага само един бутон "OK". Аргумент Бутониви позволява да контролирате следните опции на полето за съобщения:

¨ Броят на бутоните в прозореца.

¨ Видове бутони и и x разположение в прозореца.

¨ Икони, показани в прозореца.

¨ Кой бутон е назначен по подразбиране.

¨ Режим (модалност) на кутията за съобщения.

Таблица 1 показва възможните настройки за този аргумент. Първата група стойности задава броя и вида на бутоните. Вторият ви позволява да изберете иконата, показана в прозореца. Третият задава бутон по подразбиране. Четвъртата група задава режима на кутията за съобщения. За да създадете крайната стойност на аргумент Бутониможете да използвате само една стойност от всяка група, като ги комбинирате със знак плюс.

Група Постоянна смисъл Описание
Група 1 vbOKOnly Показва само бутона OK (настройка по подразбиране)
VbOKОтказ Показва бутоните OK и Cancel
VbAbortRetryIgnore Показва бутоните Stop, Repeat и Skip.
VbYesNoCancel Показва бутоните Да, Не и Отказ
vbYesNo Показва бутоните Да и Не
VbRetryCancel Показва бутони Възстановяване и Отказ
Група 2 VbCritical Показва икона за забрана
VbQuestion
VbExclamation Показва предупредителна икона
VbИнформация Показва информационна икона
Група 3 VbDefaultButton1 Първият бутон е бутонът по подразбиране
VbDefaultButton2 Вторият бутон е бутонът по подразбиране
VbDefaultButton3 Третият бутон е бутонът по подразбиране
VbDefaultButton4 Четвъртият бутон е бутонът по подразбиране
Група 4 VbApplicationModal Режим на приложение: Потребителят трябва да затвори полето за съобщение, преди да продължи с текущото приложение
VbSystemModal Системен режим: всички приложения са недостъпни, докато потребителят не затвори полето за съобщение
Допълнителна група vbMsgBoxHelpButton Показва бутон за помощ
vbMsgBoxSetForeground Прави кутията за съобщения в прозорец на преден план
vbMsgBoxRight Показва поле за съобщение, подравнено в десния край на прозореца на приложението
vbMsgBoxRtlReading За иврит и арабски, указва, че текстът трябва да се показва от дясно на ляво.

Раздел. 1. Настройки на аргумента Бутони MsgBox функции

За да не се правят грешки при въвеждане на стойности на аргументи Бутони, използвайте списъка с константи, който се появява, след като въведете знака "+". Знакът "+" се използва за комбиниране на множество константи при посочване на сложен аргумент Бутони.

Аргумент заглавкасе използва за определяне на текста, който се поставя в заглавната лента на прозореца за въвеждане. Ако този аргумент не е посочен, Microsoft Excel се показва в заглавната лента.

Аргументи помощен_файлИ съдържаниесе използват, ако създавате своя собствена помощна система за вашето приложение.

Таблица 2 изброява стойностите, върнати от функцията MsgBox . Връщаната стойност зависи от бутона, натиснат от потребителя.

Връщана стойност Бутон
Добре
Отмяна
Спри се
Повторете
Пропусни
да
Не

Раздел. 2. Стойности, върнати от функцията MsgBox

Най-добър тип Променливата за връщане на функцията MsgBox е Integer.

Обхват и обекти от клетки

Във VBA клетките на работния лист се третират като обект Range. Това е най-често използваният артикул.

Обектът Range използва формата A1, когато работи с клетки.

формат А1.Препратката се състои от име на колона (означено с букви от A до IV, максимум 256 колони) и номер на ред (от 1 до 65536). Например A77. За да се позовава на диапазон от клетки, се посочват адресите на горната лява и долната дясна клетка на диапазона, разделени с двоеточие. Например, B10:B20, 7:7 (всички клетки в ред 7), 5:10 (всички клетки между редове 5 и 10 включително), D:D (всички клетки в колона D), H: J (всички клетки между колони H и J включително). Абсолютната препратка е знак за долар преди името на реда или колоната.

Обектът Cells използва формата R1C1, когато работи с клетки.

формат R1C1. Във формат R1C1 след буквата "R" се посочва номерът на реда на клетката, след буквата "C" - номерът на колоната. Например, абсолютната препратка R1C1 е еквивалентна на абсолютната препратка $A$1 за формат A1. За да зададете относителна препратка, посочвате отместване спрямо активната клетка. Смесването е посочено в квадратни скоби. Знакът показва посоката на преместване. Например, R[-3]C (относителна препратка към клетка три реда по-високо в същата колона). RC (относителна препратка към клетка два реда надолу и две колони вдясно). R2C2 (абсолютна препратка към клетката, разположена във втория ред и във втората колона). R[-1] (относителна препратка към реда над текущата клетка), R (абсолютна препратка към текущия ред).

Пълният адрес на клетката може също да съдържа името на работника и адреса на книгата. След името на листа се поставя знакът "!", а адресът на книгата се поставя в квадратни скоби. Например: [Book1.xls]Sheet5!D$2.

Обектът Range може да бъде:

§ отделна клетка;

§ избран диапазон от клетки;

§ няколко избрани диапазона от клетки (т.е. набор от несъседни диапазони);

§ ред и колона;

§ триизмерен диапазон (т.е. състоящ се от диапазони, разположени на различни работни листове).

Свойства на обхват и клетки

Имоти Описание и валидни стойности
стойност Връща стойност от клетка или диапазон (към клетка или диапазон): X=Range("A1").Value Range("A1").Стойност=10
име Връща името на диапазона: Range("B1:B4").Name="Application"
адрес Връща текущата позиция на диапазона
Броя Връща броя на клетките в диапазона
изместване Връща стойността на отместване на един диапазон спрямо друг
преоразмеряване Позволява ви да промените текущия избор на диапазон
Текущ регион Връща текущия диапазон, съдържащ посочената клетка и ограничен от празен ред и колона.
wraptext Вярно (False) – позволява (не позволява) обвиване на текст при влизане в диапазон.
Цяла колона, цял ред Връща ред и колона.
Ширина на колона, височина на ред Връща ширината на колоната и височината на реда на диапазон.
Шрифт Връща обект Font. Например: С работни листове(“Z3”).Обхват(“F10”).Шрифт .Размер=22 .Удебелен=Вярно .Кивил=Вярно Край с
Формула Формула във формат А1. Например, ето как можете да въведете формула в клетка C2: Range(“C2”).Формула=”=$B$2+$A$2”
FormulaLocal Формула във формат A1, като се вземе предвид езикът на потребителя (за неанглийски версии на Excel). Например: Range(“C1”).FormulaR1C1= “=PI ()”
Формула R1C1 Формула във формат R1C1. Например Range(“C1”).ФормулаR1C1= “=R1C1+2”
ФормулаR1C1Local Формулата е във формат R1C1 въз основа на езика на потребителя (за неанглийски версии на Excel).
Хоризонтално подравняване хоризонтално подравняване. Възможни стойности: xlHAlignGeneral (нормално), xlHAlignCenter (център), xlHAlignCenterAcrossSelection (център за избор), xlHAlignJustify (ширина), xlHAlignRight (вдясно), xlHAlignLeft (вляво) и други.
Вертикално подравняване Вертикално подравняване. Възможни стойности: xlVALignBottom (отдолу), xlVALignCenter (център), xlVALignTop (отгоре) и други.

Методи за обхват и клетки

Методи Действия
адрес Връща адреса на клетката.
autofit Автоматично регулира ширината на колоната и височината на реда. Например: Range(“B1:B3”).Columns.AutoFit Използването на свойството Columns или Rows е необходимо в този случай, тъй като стойността на диапазона трябва да бъде редове или колони, в противен случай ще се генерира грешка.
Ясно Изчиства диапазон. Например: Обхват(“B1:B20”).Изчистване
копие Копира диапазон в друг диапазон или клипборд (ако Дестинация не е зададена). Например, по този начин можете да копирате стойности на диапазон от един лист (L1) в друг (L2): Работни листове("Z1").Range("D1:D5").Копиране Дестинация:=Работни листове("P2" ).Обхват("D5 ")
Разрез Копира диапазон с изтриване (изрязване) в друг диапазон или клипборд (ако параметърът Destination не е зададен). Например, нека копираме диапазон от клетки с изтриване в клипборда: Worksheets("Sheet1").Range("D1:E5").Cut
Изтрий Изтрива диапазон. Параметърът Shift определя посоката, в която клетките се изместват при изтриване. Например: Range(“B6:D6”).Delete Shift:=xlShiftToLeft
Вмъкване Вмъква клетка или диапазон от клетки. Например, по този начин можете да вмъкнете ред преди шестия ред на листа "Sheet2": Worksheets("Sheet2").Rows(6).Insert
Изберете Избира диапазон: Диапазон(“A1:C7”). Изберете

Обектни методи за диапазон и клетки, които изпълняват команди на Excel

Методи Действия
DataSeries Създава прогресия. DataSeries(rowcol,date,step,stop,trend) Ръчният метод се изпълнява с помощта на командата Edit\Fill\Progress
автоматично попълване Автоматично довършване. Автоматично запълва клетките на диапазона с елементите на последователността: Object(Range, Type).
Автофилтър Автофилтър. Реализира заявка за филтриране на данни в работен лист: Object.AutoFilter(Field, Condition1, Operator, Condition2) Съответства на командата Data\Filter\AutoFilter.
усъвършенстван филтър Разширен филтър. Съответства на командата Data\Filter\Advanced Filter.
Консолидирайте Комбиниране на данни от множество диапазони в една обобщена таблица. Съответства на командата Data\Consolidate.
намирам Търсене на данни. Извиква се ръчно от командата Edit\Find.
TblGoalSeek Избор на параметър. Извършва се ръчно с помощта на командата Service\Parameter Selection.
Вид Сортиране на данни. Извършва се ръчно с помощта на командата Data\Sort
междинна сума Добавя междинни суми. Извиква се ръчно от командата Data\Subtotals.

Забележка . Особено трябва да се отбележи, че във VBA (за разлика от Excel) операцията за присвояване се извършва независимо от състоянието на клетката и не я променя. Тези. за да присвоите стойност на клетка (или да получите нейната стойност), изобщо не е необходимо тази клетка да е активна (не забравяйте, че в Excel тя трябва да бъде активирана преди да я въведете в клетка), тя няма да стане активна (ако не беше така преди) и след назначението й от всякакво значение.

Извеждането (предаване до потребителя) на резултатите от програмата и други съобщения се извършва чрез диалоговия прозорец за съобщения.

За организиране на изхода на информация се използва вградена функция MsgBox.

Помислете за опциите за неговото използване.

1. г = квадрат (16)

MsgBox y

2. S=99

MsgBox("S= ” & С)

това е знак конкатенацияамперсанд;

използва се за комбиниране на няколко реда в един

3. a=5: b=101

MsgBox("a="& a & " " & "b=" &б)

4. MsgBox("a=" & a & Chr(13) & "b=" & b)

като използвате тази функция, въведете символ на преход

към нов ред(преобразува число в знак)

Работа с обекти на Excel

Обектен модел на Excelпредставлява йерархия от обекти, подчинени на един обект Приложение, което съответства на при Excel приложение. Обекти превъзхождамса работни книги, работни листове, диаграми, диапазони от клетки, клетки и др.

VBA може програмно да манипулира всеки от тези обекти.

Всеки предметима комплект Имоти, методиИ събития.

Имоте характеристика или параметър на обект.

Методе действие, което обектът може да извърши.

Събитиее действие, на което обектът реагира автоматично.

управлявайте обекта вVBAвъзможно по 3 начина:

    промяна на свойствата на обект;

    чрез извикване на метода, свързан с обекта;

    дефиниране на процедура, която ще се изпълнява като отговор на събитие.

Показване на информация в клетка на Excel

Клетка като обект на Excel във VBA програма се обозначава клетки (i, j), където и- номер на реда jе номерът на колоната на електронната таблица.

Й

смисъл Йще се покаже на активния работен лист excel книгив клетка Б3

= 0.01

Клетки(3, 2) = Y

ОТ

променлива Бще бъде присвоена стойност

който се съхранява в клетката C5

(т.е. съдържание на клетката C5)

четене на информация от клетка на Excel

B = клетки(5, 3)

vba инструмент за въвеждане

Въвеждането на информация от потребителя се извършва чрез диалоговия прозорец за въвеждане. Реализиран с вградена функция InputBox.

Dim x As Single

х = Val(InputBox("Въведете x"))

Функция InputBoxвръща последователността от знаци, въведени в полето за въвеждане ( 15 ) като тип данни низ(низ). вградена функция Val()преобразува стойност на низ от поле за въвеждане в числова стойност.

Линейни изчислителни процеси

Линеен алгоритъмсе характеризира със строга последователност на изпълнение на блокове в реда на тяхното разположение в схемата - отгоре надолу. Няма условни блокове. Всеки блок се изпълнява веднъж.

Пример 1Изчислете стойността на функцията

при k = 33,5 x = 17

1. Нека съставим алгоритъм за решаване на проблема.

2. В прозореца на редактора на кодове въведете програмния код:

Изрична опция

Подлинеен_процес()

Dim k като единичен, x като единичен, y като единичен„декларация на променлива

x = Val(InputBox("Въведете x стойност"))

y = k * Exp(Sin(x))

MsgBox "y=" & y' показва резултата в диалогов прозорец

край под

Команда Изрична опциязадължава да декларира всички променливи в дадената програма. Може да се постави само в секцията за декларация на модул.



Свързани статии: