Начало - Софтуер
Как да направите модул за сума в Excel. Какво е модул в Excel - как и с какви функции може да се изчислява

Модулът (или абсолютната стойност) на число в математиката е неотрицателно число, чиято стойност зависи от вида на числото.
Ако броят анеотрицателен, тогава модулът е равен на самото число ( апри a ≥ 0), ако е отрицателен, тогава модулът е равен на положителната си стойност ( при а< 0 ):

За да намерите модулни стойностиВ Excel има стандартна функция ABS.
Като цяло, намирането на абсолютна стойност е доста проста операция за изчисляване, така че тази функцияе стандартен в много езици за програмиране, например във VBA (Visual Basic за приложения) формулата на модула също се записва като Abs.

Модулна функция в Excel

Синтаксис и описание на функцията ABS:

ABS (число)
Връща модула (абсолютната стойност) на число.

  • Номер(задължителен аргумент) - реално число, чийто модул трябва да се изчисли.

Посочваме произволно реално число като аргумент на функцията и в резултат получаваме нейната абсолютна стойност:

Въпреки факта, че знакът за модул в математиката се обозначава като вертикална лента | , опитът да се постави знак за модул в Excel за търсене на стойност по модул ще доведе до грешка, например при въвеждане на формула =|-29| Excel ще изведе грешка.

Алтернативни методи за изчисление

Ако изведнъж формулата на ABS излетя от главата ви и сте забравили как модул за изчисляванев Excel, използвайки го, ще разгледаме няколко начина за намиране на абсолютната стойност на число, без да използваме тази формула.

Използване на функцията SIGN

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

Използване на функцията SQRT

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

Успех и ще се видим скоро на страниците на блога Tutorexcel.ru!

Веднъж мой колега ме попита как да използвам Формули на Excelза изчисляване на сумата от абсолютни стойности в определен диапазон. Този въпрос се появява доста редовно във форумите и много потребители често срещат големи затруднения с това на пръв поглед просто действие.

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

Ето нашите данни:

Виждаме, че сумата от числата в диапазона A2: A8дава резултати -60 :

10 + 10 + 20 + -20 + 30 + -40 + -50 = -60

Ако трябва да разгледаме абсолютни стойности (числа без знака "-"), резултатът ще бъде:

10 + 10 + 20 + 20 + 30 + 40 + 50 = 180

Вариант 1 - Използване на помощна колона

според мен най-добрият начинза изчисляване на сумата от абсолютни стойности в Excel - използвайте спомагателна колона. Към клетката B2въведете формулата:

След това го разтегнете до клетката B8. функция ABSвръща модула на число. Така че сега можем просто да сумираме диапазона B2:B8и това ще ни даде резултата.

SUM(B2:B8)
=SUM(B2:B8)

В моя пример диапазонът A1: A8е пълноценна таблица с данни. Следователно при добавяне на формулата =ABS(A2)към клетката B2 Excel разшири таблицата и автоматично попълни всички клетки в колоната. След това отидох в раздела Конструктор(Дизайн), който се намира в групата раздели Работа с таблици(Инструменти за таблица) и поставете отметка до опцията Обща линия(Общ ред). Всички стойности в колона ббяха автоматично сумирани и резултатът беше показан на отделен ред.

За да изчислите сумата в общия ред, използвайте функцията МЕЖДИННИ.РЕЗУЛТАТИ(МЕЖДИНЕН СУМАТ). Това е обща функция, която може да извършва сумиране, точно като функцията SUM(СУМА). Но има и значителни разлики, напр. МЕЖДИННИ.РЕЗУЛТАТИ(SUBTOTAL) напълно игнорира числата, които са били скрити ръчно или чрез филтриране. Има няколко други разлики, но те нямат много общо с темата на тази статия.

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

Това без съмнение е много добър начин, но какво да направите, когато трябва да съберете всичко в една формула без никакви помощни колони?

Вариант 2 - Използване на функцията SUM във формула за масив или SUMPRODUCT

Използвайте формула за масив или SUMPRODUCT(SUMPRODUCT) за решаване на такъв проблем е много груб подход!

функция SUMвъв формула за масив:

СУМА(ABS(A2:A8))
=СУМА(ABS(A2:A8))

Когато въвеждате формула за масив, не забравяйте да натиснете Ctrl+Shift+Enter.

Формула със SUMMPROOK:

SUMPRODUCT(ABS(A2:A8))
=SUMPRODUCT(ABS(A2:A8))

Като се има предвид, че може да се използва по-ефективна функция SUMIF(SUMIF), за да получите същия резултат (вижте опция 3), пътят, използващ тези две формули, става непредпочитан. И двете формули работят чудесно с малки диапазони от данни, сигурен съм, че дори няма да забележите разликата. Ако трябва да сумирате голям брой стойности, скоростта на работа значително ще се забави.

Вариант 3 - Използване на SUMIF

Смятам, че този подход е най-удобният от всички изброени по-рано. Използване на функцията SUMIF(SUMIF) стойностите са разделени на 2 масива: с положителни и отрицателни числа и сумирани. Нулата се игнорира по очевидни причини. След това просто изваждаме отрицателната от положителната сума (т.е. сумираме ги). Формулата изглежда така:

SUMIF(A2:A8,">0")-SUMIF(A2:A8,"0")-SUMIF(A2:A8,"0","0","
Продължаваме поредицата от статии за математическите формули в Excel. Днес ще анализираме формулата за писане на „модул в Excel“. Модулът на число се използва за определяне на абсолютната стойност на число, например дължината на сегмент. По-долу представяме няколко начина за изчисляване на модула на число в Excel, основната функция е ABS и допълнителни изчисления с помощта на функциите IF и SQRT.

Както следва от определението, модулът на числото е неотрицателно число, стойността на самото число. Тези. ако имаме отрицателно число -7, тогава по модул то ще бъде равно на 7. Модулът се записва като две вертикални линии:

|-7| = 7

За какво се използва? Ако имаме векторна стойност, равна на -7, където минусът означава противоположната му посока, тогава, за да намерим дължината на самия вектор, трябва да изчислим абсолютната стойност на числото (тъй като дължината не може да бъде отрицателна стойност ).

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

Изчисляване на модул в Excel, ABS функция

В повечето езици за програмиране модулът на числото се намира чрез функцията ABS (от абсолютна стойност, Абсолутен). Нашият любим Excel не прави изключение.

Въведете формулата в клетката:

Както следва от описанието на функцията, стойността на такава формула ще бъде равна на 7.

Как да изчислим модул с помощта на IF, алтернативен метод

По същество действието на функцията Modulus е да определи дали дадено число е отрицателно или не и да предаде стойността му. Това означава, че основната функция на условието =IF() е лесна за работа.

Модулът е абсолютната положителна стойност на всяко число. Дори отрицателно число винаги ще има положителен модул. Нека разберем как да изчислим стойността на модула в Microsoft Excel.

ABS функция

За да изчислите стойността на модула в Excel, има специална функция, наречена "ABS". Синтаксисът за тази функция е много прост: ABS(число) . Или формулата може да приеме следната форма: ABS(адрес_на_клетка_с_номер) . За да изчислите например модула на число -8 , трябва да въведете следната формула в лентата за формули или в произволна клетка на листа: "=ABS(-8)".

За да извършите изчислението, щракнете върху Въведете— програмата отговаря с положителна стойност.

Има друг начин за изчисляване на модула. Подходящ е за онези потребители, които не са свикнали да държат различни формули в главите си.


Важно е да се отбележи, че някои потребители се опитват да запишат модула, както е обичайно в математиката, т.е. |(номер)|, Например |-48| . Но в такава ситуация вместо отговор ще се появи само грешка, тъй като Excel не разбира такъв синтаксис.

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


Макроси (VBA процедури) (63)
Разни (39)
Грешки и проблеми в Excel (4)

Какво е модул? Какви видове модули има?

Целият VBA код трябва да се съхранява някъде. За съхраняване на кодове във VBA се използват модули, които се съхраняват в работна книга. Една книга може да съдържа толкова модули, колкото искате. Всеки модул от своя страна може да съдържа множество процедури (макроси).
Всички модули, налични в книгата, могат да се видят чрез редактора на VBA ( Alt+F11). Наличните модули се показват от лявата страна на редактора в Project Explorer.
Фиг.1
Самият изследовател на обекти може да не се показва по подразбиране и тогава трябва да се покаже: щракнете Ctrl+Рили в менюто на редактора на VBA- Преглед-Project Explorer

Модулите са разделени на пет основни типа:

Като цяло, за да бъдем по-точни, има само два вида модули - обикновени и класни модули, т.к Модул лист, Книжен модул, Модул за потребителски формулярИ Модул класса по същество модули на класа. Но специално ги разделих на няколко вида, т.к. Тези типове често се използват за обяснения в различни учебници и различни форуми, а в самите книги на Excel те са различни по външен вид и по някои функции.

За да се създаде нов стандартен модул, клас модул (ClassModule)или потребителски формуляр (UserForm)Просто трябва да щракнете с десния бутон в прозореца на Project Explorer и да изберете Поставетеи след това типа на добавения обект( Модул, ClassModule, Потребителска форма). Можете да добавите модул и през менюто: Поставете- тип модул.
Премахването също е лесно: щракнете с десния бутон върху желания модул в прозореца на проекта и изберете Премахнете. Повече подробности за изтриването в края на тази статия:

СТАНДАРТЕН МОДУЛ
на фиг. 1 Модул1 .
Най-често срещаният тип модули, който се използва в повечето случаи. Именно в тях макрорекордерът създава записваеми макроси. Всички кодове и процедури в такива модули са написани ръчно или копирани от други източници (друг модул, от този сайт и т.н.). По принцип по-голямата част от кода се съдържа в стандартните модули. Те са предназначени да съхраняват основни процедури и публични променливи, които могат да бъдат достъпни по-късно от всеки модул. Как да създадете стандартен модул: в прозореца на обектния изследовател щракнете с десния бутон - Поставете-Модул. Когато записвате с макро рекордер, модулите се създават автоматично и се наименуват автоматично.
Много кодове, публикувани в статии на сайта, трябва да бъдат поставени в стандартни модули. За да направите това, просто създайте нов стандартен модул, копирайте текста на кода от сайта и го поставете.

МОДУЛ ЗА ЛИСТ
Лист1 или Лист1 - на фиг. 1: Лист1(Лист1), Лист2(Лист2), Лист3(Лист3).
Всеки лист от книгата има свой отделен модул. Влизането в модула лист е по-лесно от влизането в други модули. За да направите това, просто щракнете с десния бутон върху прекия път на листа и изберете елемента от контекстното меню Изходен текст (Вижте кода)
В зависимост от версията на Excel този елемент на руски може да има същото име: Вижте кодаили Изходен код :

Можете да поемете по-труден път - чрез VBA редактора: Alt+F11и в прозореца на Project Explorer щракнете двукратно върху обекта с името на листа или щракнете с десния бутон върху модула на листа - Вижте кода.
Когато поставяте код в листов модул, не забравяйте това, когато копирате или премествате от този листКодът също ще бъде копиран в друга книга, т.к е част от листа. Това е и плюс, и минус едновременно. Предимството е, че като поставите кода в модула на листа, можете да използвате този лист като шаблон за разпространение със собствени бутони за извикване на тези кодове (включително създаване на книги с кода) и цялата функционалност ще бъде достъпна. Недостатъкът е някои нюанси на достъп до клетки (за повече подробности вижте тази статия: Как да получите достъп до диапазон от VBA) и необходимостта да поставите ВСИЧКИ използвани процедури в този лист, в противен случай кодовете може да работят с грешки, когато се прехвърлят в други работни книги.

Модулът на лист съдържа вградени процедури за събития, всяка от които отговаря за обработката на конкретно събитие на този лист. Можете да ги видите по следния начин: изберете обект (на снимката по-долу списъкът е от лявата страна)Работен лист и изберете събитие в десния списък (този списък съдържа всички налични процедури за избрания лист):


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

Имената на процедурите за събития са доста информативни и повечето от тях не изискват внимателно декодиране. Но считам за необходимо да опиша най-важните използвани части във всеки случай:

  • Активирайте- възниква, когато самият лист е активиран (но не се случва, ако има преход от една работна книга към друга и този лист е активен там)
  • Преди DoubleClick- възниква, когато щракнете двукратно върху която и да е клетка на листа. Важно е да обърнете внимание на предадените аргументи: Target и Cancel. Цел - връзка към клетката, в която е извършено действието; Отказ - отговаря за отмяната на режима на редактиране
  • Преди щракване с десен бутон- възниква, когато щракнете с десния бутон върху която и да е клетка на листа. Важно е да обърнете внимание на предадените аргументи: Target и Cancel. Цел - връзка към клетката, в която е извършено действието; Отказ - отговаря за отмяната на показването на изскачащото меню
  • Изчислете- възниква при преизчисляване на функции и формули на лист
  • промяна- Възниква, когато стойностите на клетките на лист се променят. Важно е да се обърне внимание на аргумента Target, който се предава. Цел - препратка към клетката, която е променена. Може да се различава от активната клетка по време на обработката
  • Деактивирайте- възниква при преместване от този лист към друг лист от същата работна книга
  • Следвайте хипервръзка- възниква при следване на хипервръзка, създадена в този лист
  • SelectionChange- възниква при промяна на адреса на избраната клетка/област. Важно е да се обърне внимание на аргумента Target, който се предава. Цел - препратка към диапазона от избрани клетки. Съвпада с избраните в момента клетки

достатъчно важен момент: Ако искате да се запознаете по-добре с процедурите за събития, винаги обръщайте внимание на променливите, които се предават като аргументи на процедурата. В повечето случаи препоръчвам да използвате тези променливи, вместо да измисляте всякакви възможности за изчисляване на обекта, който е причинил възникването на събитието. За лист събитие Работен лист_Промянатова е променлива Цел. Като пример, поставете кода по-долу във всеки модул на лист:

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox „Променен адрес на клетка:“& Target.Address & _ "; Активен адрес на клетка: "& Selection.Address, vbInformation, "www.site" End Sub

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "Променен адрес на клетка: " & Target.Address & _ "; Активен адрес на клетка: " & Selection.Address, vbInformation, "www.site" End Sub

След това напишете стойността 5 в клетка A1 и натиснете Enter. Събитието Change ще се активира, когато редактирането приключи - т.е. в момента, в който натиснете Enter. В този случай ще бъде направен преход към клетка A2 (в повечето случаи, освен ако не е указано друго в настройките) и ще се появи съобщение, което ще покаже, че клетка A1 е променена и A2 вече е избрана. Тези. Целта винаги е връзка към променената клетка, независимо какво е избрано в момента. Това събитие (Worksheet_Change) няма да се активира, когато стойностите на клетките с формули се променят. Само ръчно въвеждане.

Забележка: за всички кодове, дадени на сайта, трябва само да отворите необходимия модул (книга или лист)и поставете предложения код. Корекция може да е необходима само в случаите, когато модулът Sheet или Workbook на вашия файл вече има код в необходимата процедура за събитие.

МОДУЛ КНИГА
Тази книга или тази работна книга - на фиг. 1: Тази книга .
Модулът на книгата може да бъде достъпен само чрез Project Explorer на VBA редактора - кликнете два пъти върху него Тази книга (ThisWorkbook)или десен бутон на мишката върху модула - Вижте кода. Модулът на книгата също така съдържа „вградени“ процедури за събития. Точно както за лист, изберете от списъка с обекти (горе вляво) Работна тетрадка. В десния прозорец за избор на процедури, както при модула sheet, ще има всички налични процедури за обекта Тази книга. Пример за използване на процедури за събития на книги може да се намери в статията Как да проследите събитие (например избор на клетка) във всяка книга?
Но там важат всички същите правила - основното е да не забравяме аргументите, налични от тези процедури и предадени на тях от самия Excel. Например събитието Workbook_BeforeClose има наличен аргумент Отказ. Това може да се използва, ако не искате потребителят да затвори работната книга, без да попълни клетка A1. Ето пример за такъв код:

Private Sub Workbook_BeforeClose(Cancel As Boolean) If Me.Sheets("Report").Range("A1").Value = "" Then MsgBox "Трябва да попълните клетка A1 на листа "Отчет", vbCritical, "www .site" Cancel = True "cancel затваряне на книгата End If End Sub

От кода става ясно, че на лист "Отчет" не трябва да има празна клеткаА1 (листът „Отчет“ също трябва да съществува в тази работна книга). Но има и още нещо – някои аз. Това е кратко извикване на обекта на модула на класа, в този случай е еквивалентно на извикването на ThisWorkbook. И още един пример за код за модула ThisBook, който забранява запазването на оригиналната книга, позволявайки тя да бъде запазена само чрез елемента Запиши като:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI = False Тогава "използва просто запазване MsgBox "Тази работна книга е шаблон. Можете да го запишете само чрез Save As", vbCritical, "www.site" Cancel = True "cancel запазване на книгата End If End Sub

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

ФОРМА МОДУЛИ
Потребителски формуляр - на фиг. 1 Потребителска форма1 .
Съдържа се в UserForm и неговите обекти. В User Forms основно всичко е обвързано точно с процедурите за събития на самата форма и с елементите на тази форма (Бутони, TextBoxes, ComboBoxes (падащи списъци) и др.). Много е удобно да използвате потребителски формуляри във вашите приложения за комуникация с потребителя. защото Чрез формуляри е много удобно да проследявате действията на потребителите и можете да откажете достъп до листове с данни, като ги скриете. Формулярът се създава по същия начин като модул: в прозореца на обектния изследовател щракнете с десния бутон - Поставете-Потребителска форма. Примери за кодове, използващи формуляри, можете да намерите в статиите: Всеки потребител има свой собствен лист/обхват, Как да оставя само числа или само текст в клетка?

МОДУЛ КЛАС
ClassModule - на фиг.1 Клас1 .
В повечето случаи той е създаден специално за проследяване на събития на различни обекти. Малко вероятно е начинаещите да научат VBA, въпреки че всичко зависи от поставената задача. Но обикновено за начинаещите е твърде трудно да се научат. Във всеки случай, преди да работите с модули на класове, е по-добре да се научите как да работите поне малко с обикновени модули и сами да пишете процедури. Как да добавите такъв модул: в прозореца на обектния изследовател щракнете с десния бутон - Поставете-Модул на класа. Можете да прочетете повече за модулите на класове и работата с тях в тази статия: Работа с модули на класове. Там са описани всички основни принципи и е прикачен примерен файл.

ПРЕМАХВАНЕ НА МОДУЛ
Стъпките за премахване на всеки от модулите са еднакви за всички типове. За да направите това, трябва да отидете на VBA проекта на желаната книга, да изберете желания модул, да щракнете с десния бутон върху него и да изберете от появилото се меню Премахване (име на модул)...(Премахване на Module1, премахване на UserForm1, премахване на Class1 и т.н.). След това ще се появи прозорец с въпрос „Искате ли да експортирате (име на модул) преди да го премахнете?“ Това означава, че VBA пита: Искате ли да запазите копие от кода на модула, преди да го изтриете? Като правило трябва да изберете не. Но ако искате да запазите текста на кодовете от премахнатия модул в отделен файл, тогава се съгласете, като щракнете върху Да. Ще бъдете подканени да изберете папка за запазване на модула и дори можете да му дадете отделно име.

МОДУЛ ТРАНСФЕР, ВНОС и ИЗНОС
Понякога трябва да преместите модул от една книга в друга. Има няколко начина да направите това. Най-простият е да отворите и двете книги, да отидете в Project Explorer - да намерите необходимия модул - да го хванете с левия бутон на мишката и без да пускате бутона, да го плъзнете в проекта на друга книга:


Трябва да се помни, че само стандартният модул, модулът клас и модулът UserForm могат да бъдат прехвърляни и копирани по този начин. Кодовете на модулите лист и книга ще трябва да бъдат прехвърлени като обикновен текст: отидете на модула ThisBook (откъдето искаме да копираме) - копирайте целия код - отидете на модула ThisBook на втората книга и поставете това, което е копирано :


Експортиране на модул (запазване в отделен файл)
Ако трябва да запишете стандартен модул, модул за клас или модул за формуляр и да не го прехвърлите веднага в друга работна книга, тогава можете да експортирате модула. Защо това може да е необходимо? Като правило, за да прехвърлите кодове от дома на работа, изпратете ги на някого на друг компютър (изпращането на файл с макроси може да е забранено от политиката за сигурност на компанията) и т.н. Това става просто: щракнете с десния бутон върху модула - Експортиране на файл.
Експортираните модули имат различни разширения в зависимост от вида на модула. За стандартните модули това е .bas(Module1.bas), за клас модули - .cls(Class1.cls). Но за модулите на формуляри ще бъдат създадени два файла: UserForm1 .frmи UserForm1 .frx. Важно е да ги съхранявате заедно - едно без друго не може да бъде импортирано във файл по-късно. Файлът .frx съхранява информация за визуалното изобразяване на формуляра и неговите елементи, така да се каже. Файлът .frm съхранява директно кодовите текстове за формуляра и служебната информация (името и размерите на формуляра, някои глобални директиви и връзка към файла .frx). Ето защо не се препоръчва да преименувате тези два файла без съответните умения с надеждата, че всичко ще работи по-късно.
Импортиране на модул (прехвърляне на предварително експортиран в нова книга)
За да прехвърлите експортиран модул в друга работна книга, просто трябва да щракнете с десния бутон върху желания проект в обектния изследовател - Модул за импортиране-изберете необходимия модул в диалоговия прозорец.
Можете да експортирате всеки модул, но не можете да го импортирате. Въпреки че модулите на листа и работната книга се експортират в отделни файлове (между другото, с разширение .cls), те не могат да бъдат импортирани във формата, както е предвидено. Те ще бъдат импортирани като нови модули на класа и нищо повече. Следователно, за да прехвърлите кодове от модули на лист и работна книга, все пак ще трябва да използвате копиране и поставяне на самите кодове.
И на всичкото отгоре, можете да прехвърляте модули автоматично с помощта на VBA кодове: Как програмно да добавите процедурен код, копирайте модул

Статията помогна ли? Споделете връзката с приятелите си! Видео уроци

("Долна лента":("textstyle":"static","textpositionstatic":"bottom","textautohide":true,"textpositionmarginstatic":0,"textpositiondynamic":"bottomleft","textpositionmarginleft":24," textpositionmarginright":24,"textpositionmargintop":24,"textpositionmarginbottom":24,"texteffect":"slide","texteffecteasing":"easeOutCubic","texteffectduration":600,"texteffectslidedirection":"left","texteffectslidedistance" :30,"texteffectdelay":500,"texteffectseparate":false,"texteffect1":"slide","texteffectslidedirection1":"right","texteffectslidedistance1":120,"texteffecteasing1":"easeOutCubic","texteffectduration1":600 ,"texteffectdelay1":1000,"texteffect2":"слайд","texteffectslidedirection2":"надясно","texteffectslidedistance2":120,"texteffecteasing2":"easeOutCubic","texteffectduration2":600,"texteffectdelay2":1500," textcss:"text-align:left;","textbgcs":"absolute; background-color:#333333; filter:alpha(opacity=60); ","titlecss":"display:block; позиция: роднина; шрифт: удебелен 14px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; цвят:#fff;","descriptioncss":"дисплей:блок; позиция: роднина; font:12px \"Lucida Sans Unicode\",\"Lucida Grande\",sans-serif,Arial; цвят:#fff; margin-top:8px;","buttoncss":"display:block; позиция: роднина; margin-top:8px;","texteffectresponsive":true,"texteffectresponsivesize":640,"titlecssresponsive":"font-size:12px;","descriptioncssresponsive":"display:none !important;","buttoncssresponsive": "","addgooglefonts":false,"googlefonts":"","textleftrightpercentforstatic":40))

Запознаване с понятията модул, процедура, форма във VBA Excel. Модули различни видове. Създаване на персонализирана форма. Вградени диалогови прозорци.

Най-лесният начин да отидете до VBA редактора е да натиснете клавишната комбинация Alt+F11 с активен прозорец на Excel (тук използваме левия Клавиш Alt). Тази комбинация работи във всички версии на програмата. Ако в прозореца, който се отваря, вляво няма прозорец на изследователя „Project-VBAProject“, извикайте го през главното меню, като изберете „Изглед“ - „Проект Explorer“. Вътрешните прозорци във VBA редактора могат да се плъзгат и поставят на други места в главния прозорец.

Модул

Модулите на работни книги на Excel са файлове, предназначени за създаване и съхранение програмен кодпод формата на процедури (подпрограми, функции и потребителски свойства). Има няколко вида модули.

Стандартен модул

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

Създаване на стандартен модул:

  1. Отворете работната книга на Excel, в която планирате да добавите новия стандартен модул, или създайте нова работна книга за целите на обучението.
  2. Отворете VBA редактора с помощта на клавишната комбинация Alt+F11.
  3. В прозореца на редактора на VBA щракнете върху елемента от менюто „Вмъкване“ и изберете „Модул“ от списъка, който се отваря.

Така създадохте нов стандартен модул. В Explorer вдясно се появи папка “Modules” и в нея файла “Module1” (или “Module” с различен номер, ако книгата ви вече има модули). Същите модули се създават и при запис с вградения рекордер.

Можете да отворите или отидете до прозореца на отворен стандартен модул, като щракнете двукратно върху името му в Explorer или като отворите контекстното меню с десния бутон на мишката и изберете „Преглед на кода“. Освен това всички вече отворени модули са достъпни в раздела „Прозорец“ на главното меню.

Важна забележка:В Excel 2007-2016 работните книги с програмни модули се записват като „Работна книга на Excel с поддръжка на макроси (.xlsm)“. Ако сте добавили модул към работната книга на Excel (.xlsx), тогава, когато го запишете или затворите, програма Excelще предложи да го запишете като „Работна книга на Excel с поддръжка на макроси (.xlsm)“, в противен случай промените (създадени или импортирани модули) няма да бъдат запазени.

Книжен модул

Модулът на работната книга принадлежи само на обекта на работната книга. Можете да отворите или отидете до прозореца на модула за отворена книга, като щракнете двукратно върху елемента „Тази книга“ в Explorer или като отворите контекстното меню с десния бутон на мишката и изберете „Преглед на кода“. Освен това отвореният модул е ​​достъпен в раздела „Прозорец“ на главното меню.

Модул лист

Модулът работен лист принадлежи само към обекта работен лист. Можете да отворите модул на лист, като щракнете двукратно върху името му в Explorer или като щракнете с десния бутон върху контекстното меню върху него и изберете „Преглед на кода“. Освен това можете да отидете до модула лист от работната книга, като щракнете с десния бутон върху прекия път на този лист и изберете контекстно меню„Преглед на кода.“ Отвореният модул е ​​достъпен в раздела „Прозорец“ на главното меню.

Модул формуляр

Модулът за формуляр принадлежи само на обекта UserForm. Отворете VBA редактора с клавишната комбинация Alt+F11 и щракнете върху елемента от менюто „Вмъкване“. В списъка, който се отваря, изберете „UserForm“. Това ще създаде нов потребителски формуляр "UserForm1". В Explorer вдясно се появи папката “Forms” и в нея файла “UserForm1”. Можете да отидете до модула на формуляра, като щракнете двукратно върху самия формуляр или като щракнете с десния бутон върху името на формуляра в Explorer и изберете „Преглед на кода“ в контекстното меню. Освен това отвореният модул е ​​достъпен в раздела „Прозорец“ на главното меню.

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

Между отворени прозорциформулярите и модулите могат да се навигират, като щракнете върху раздела „Прозорец“ в главното меню, където са изброени всички отворени модули и формуляри (активният обект е маркиран с отметка).

Процедура

Процедурите във VBA Excel са разделени на 3 вида:

  • Под (подпрограма),
  • Функция (функция),
  • Собственост (персонализирани свойства).

Основната разлика между функция и подпрограма е, че функцията връща резултата от изчисление, докато подпрограмата не го прави. Процедурата Property е предназначена за създаване и управление на персонализирани свойства (не се използва често).

В редактора на VBA Excel отидете на стандартния модул и щракнете върху елемента от менюто „Вмъкване“. В списъка, който се отваря, изберете „Процедура...“. Ще се появи прозорец с молба да въведете името на процедурата, да изберете вида и зоната за видимост. Създайте няколко процедури с различни области на видимост, нека едната да бъде Sub, а другата Function. В интервала между началото и края на процедурата се записва програмен код.

Private Sub Test() "End Sub code е написан тук

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

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

Публична процедура (Public) може да бъде написана без изрично указване на видимостта - зоната на публична видимост се приема по подразбиране.

Първи запис:

Public Sub Test() End Sub

и вторият запис:

Sub Test() End Sub

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

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

Модулът (или абсолютната стойност) на число в математиката е неотрицателно число, чиято стойност зависи от вида на числото.
Ако броят анеотрицателен, тогава модулът е равен на самото число ( апри a ≥ 0), ако е отрицателен, тогава модулът е равен на положителната си стойност ( при а< 0 ):

За да намерите модулни стойностиВ Excel има стандартна функция ABS.
Като цяло намирането на абсолютна стойност е доста проста операция за изчисляване, така че тази функция е стандартна в много езици за програмиране, например във VBA (Visual Basic за приложения) формулата на модула също се записва като Abs.

Модулна функция в Excel

Синтаксис и описание на функцията ABS:

ABS (число)
Връща модула (абсолютната стойност) на число.

  • Номер (задължителен аргумент)— реално число, чийто модул трябва да се изчисли.

Посочваме произволно реално число като аргумент на функцията и в резултат получаваме нейната абсолютна стойност:


Въпреки факта, че знакът за модул в математиката се обозначава като вертикална лента | , опитът да се постави знак за модул в Excel за търсене на стойност по модул ще доведе до грешка, например при въвеждане на формула =|-29| Excel ще изведе грешка.

Алтернативни методи за изчисление

Ако изведнъж формулата на ABS излетя от главата ви и сте забравили как модул за изчисляванев Excel, използвайки го, ще разгледаме няколко начина за намиране на абсолютната стойност на число, без да използваме тази формула.

Използване на функцията SIGN

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

Какво е модул

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

Как да изчислим модул в Excel?

За да изчислите модула в Excel, можете да използвате няколко метода, най-простият от които е функцията ABS. Връща абсолютната стойност на избраното число или математически израз.

Синтаксисът на модулната функция е много прост – в Excel просто трябва да зададете “=ABS” в лентата за формули, след което в скоби да посочите аргумент, който може да бъде число, препратка към клетка, както и някои функция, която връща числова стойност. Тази операция може да се извърши и чрез щракване върху бутона „Вмъкване на функция“, където избирате подходящата функция, или като използвате търсенето, като посочите думата „модул“ или „ABS“.

Изчисляване на сумата от модули

Една от най-често срещаните операции в Excel е модулна сума. Тя ви позволява да добавяте стойности на клетките, без да вземате предвид техния знак. За да извършите това действие, не е необходимо първоначално да изчислявате модула на всяко число и след това да използвате функцията за сумиране.

Когато извършвате операция, включваща множество стойности, модул в Excel може да работи върху цял набор или диапазон от клетки едновременно. Така че, за да изчислите модулната сума, е достатъчно да използвате следната конструкция на заявката:

=СУМА(ABS(A1:A4))

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

Примери

За да консолидирате разбирането си за описанието на модула в Excel и принципите на неговата работа, струва си да разгледате няколко прости примери, демонстрирайки работата на функцията.

За да изчислите модула на дадено число или математически пример, например разликата между 2 и 5, трябва да използвате следната нотация:

=ABS(2-5)

Резултатът от тази заявка ще бъде числото „3“.

Ако трябва да изчислите сумата от модулите на матричните елементи, чиито стойности са записани в таблицата, с диапазона A1: C3, най-много по бърз начиннамирането на отговора ще бъде конструкцията:

=СУМА(ABS(A1:C3))

Пример за изчисляване на модула

За да направим този пример по-лесен за разбиране, нека направим всичко ръчно сами. Първо, нека го копираме в празен раздел на вашия Excel. Това се прави по следния начин:
Маркирайте пример. Ако примерът трябва да се копира в Excel Web App, копирайте и поставяйте клетка по клетка. Внимание - заглавията на редове и колони не е необходимо да се маркират.

След като изберете, натиснете CTRL и C на клавиатурата. Това ще презапише избраното от вас поле. След това отидете във вашия раздел и в клетка A1 преместете селекцията, като натиснете едновременно клавишите CTRL и V. Това е операцията за копиране. Ако работите в Excel Web App, направете тази процедура за всяка клетка поотделно. внимание! За да работи правилно този пример, той трябва да бъде вмъкнат в раздел на клетка A1.

За да превключите от режима на преглед на резултатите към режима на преглед на формули, които връщат този модул, трябва да натиснете два клавиша едновременно, а именно control + ` (тъп акцент) или като изберете бутона „Показване на формули“.

3 Формула Описание на резултата

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

Лесно е да намерите добавянето на абсолютни стойности във всеки диапазон (например A12:A15), просто създайте допълнителна колона, като напишете =ABS(A12) в нея. След това с помощта на функцията SUM изчисляваме събирането. Възможно е веднага да се създаде формулировка, която ще търси сумата от абсолютни стойности. Няма нужда да създавате допълнителна колона. Ще изглежда така =SUMPRODUCT(ABS(A12:A15)).

Друг вариант за модулно сумиране се извършва с помощта на масива =SUM(ABS(A12:A15)). Едва след като въведете това трябва да натиснете control и shift+enter вместо enter.

Тази извадка даде пълен и изчерпателен отговор на зададения въпрос и сега нищо няма да ви създаде затруднения. Приятна работа в ексел!



 


Прочетете:



Използване на стилове в Excel Как да създадете свой собствен нов стил

Използване на стилове в Excel Как да създадете свой собствен нов стил

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

Какви грешки възникват по време на инсталацията?

Какви грешки възникват по време на инсталацията?

Забележка: Програмите на AutoLISP могат да се изпълняват само на пълната версия на AutoCAD, те не работят под AutoCAD LT. (с изключение на случаите на зареждане...

Социален статус на човек в обществото

Социален статус на човек в обществото

Предложете какво определя избора на човек за основния му статус. Използвайки текста и фактите от социалния живот, направете две предположения и...

Пълна интерпретация на грешките

Пълна интерпретация на грешките

Доста потребители са се сблъскали с феномена син екран на смъртта. Какво да направите (Windows 7 най-често е предразположен към този проблем)...

feed-image RSS