Как да създадете дефинирана от потребителя функция в Microsoft Excel

Автор: Alice Brown
Дата На Създаване: 4 Може 2021
Дата На Актуализиране: 15 Може 2024
Anonim
8 инструментов в Excel, которыми каждый должен уметь пользоваться
Видео: 8 инструментов в Excel, которыми каждый должен уметь пользоваться

Съдържание

Въпреки че Excel има много, вероятно стотици вградени функции като SUM, VLOOKUP, LEFT и т.н., когато започнете да използвате Excel за по-сложни задачи, често откривате, че имате нужда от функция, която не съществува. Не се притеснявайте, всичко не е загубено; всичко, от което се нуждаете, е да създадете желаната функция.

Стъпки

  1. Създайте нова работна книга или отворете работната книга, където искате да използвате новосъздадената от потребителя дефинирана функция (FDU).

  2. Отворете редактора на Visual Basic който е вграден в Microsoft Excel, като отидете на Tools-> Macro-> Visual Basic Editor (или чрез натискане на Alt + F11).

  3. Добавете нов модул към вашата работна книга, като щракнете върху посочения бутон. Можете да създадете дефинираната от потребителя функция на самия работен лист, без да добавяте нов модул, но това ще ви попречи да го използвате на други работни листове в същата работна книга.

  4. Създайте "заглавката" или "прототипа" на вашата функция. Трябва да имате следната структура: публична функция TheNameOfYourFunction (param1 As type1, param2 As type2) As returnType Може да има толкова параметри, колкото желаете, и техният тип може да бъде всеки от основните типове данни или типове обекти на Excel като Range. Можете да мислите за параметрите като за "операндите", върху които ще действа вашата функция. Например, когато кажете SIN (45), за да изчислите синуса от 45 градуса, 45 ще се вземе като параметър. След това вашият функционален код ще използва тази стойност, за да извърши някакво изчисление и да представи резултата.
  5. Добавете функционалния код, като се уверите: 1) използвайте стойностите, предоставени от параметрите; 2) присвояване на резултата на името на функцията; и 3) затворете функцията с "end function". Научаването как да програмирате във VBA или друг език може да отнеме известно време и да изисква подробен урок. Функциите обаче често имат малки кодови блокове и използват малко езикови ресурси. Най-полезните елементи на езика VBA са:
    1. Блокът Ако, което ви позволява да стартирате част от кода само ако е изпълнено условие. Например:


      Public Function CourseResult (grid As Integer) As String
      Ако оценка> = 5 Тогава
      CourseResult = "Одобрен"
      Иначе
      CourseResult = "Отхвърлено"
      Край ако
      Крайна функция

      Забележете елементите в кодов блок Ако: IF условие THEN код ELSE код END IF. Ключовата дума Иначе заедно с втората част на кода не са задължителни.
    2. Блокът На, който изпълнява парче код Докато (докато) или До (докато) е изпълнено условие. Например:

      Публична функция IsPrime (стойност As Integer) As Boolean
      Dim i As Integer
      i = 2
      IsPrime = Вярно
      На
      Ако value / i = Int (value / i) Тогава
      IsPrime = False
      Край ако
      i = i + 1
      Цикъл, докато i <стойност и IsPrime = вярно
      Крайна функция

      Погледнете отново елементите: НАПРАВЕТЕ кода LOOP, ДОКАТО / ДО УСЛОВИЕ. Също така обърнете внимание на втория ред, където дадена променлива е „декларирана“. Можете да добавяте променливи към вашия код, така че да можете да ги използвате по-късно. Променливите действат като временни стойности в кода. И накрая, разгледайте декларацията на функцията като BOOLEAN, която е тип данни, който позволява само стойностите TRUE и FALSE. Този метод за определяне дали дадено число е просто не е идеален, но предпочитам да го оставя така, за да направи кода по-лесен за четене.
    3. Блокът За, който изпълнява парче код определен брой пъти. Например:

      Публична функция Factorial (стойност As Integer) As Long
      Затъмнен резултат Дълго
      Dim i As Integer
      Ако стойност = 0 Тогава
      резултат = 1
      ElseIf стойност = 1 Тогава
      резултат = 1
      Иначе
      резултат = 1
      За i = 1 на стойност
      резултат = резултат * i
      Следващия
      Край ако
      Факториал = резултат
      Крайна функция

      Погледнете отново елементите:ЗА променлива = долна граница ДО код на горната граница СЛЕДВАЩА. Обърнете внимание и на елемента В противен случай добавя се в изявлението Ако, което ви позволява да добавите повече опции за кода, който да бъде изпълнен. И накрая, погледнете декларацията на функцията и променливата "резултат" като Дълго. Типът данни Дълго позволява много по-високи стойности от „Integer“.

      По-долу е даден кодът за функция, която преобразува числата в думи.
  6. Върнете се в работната си книга и използвайте функцията, като стартирате съдържанието на клетка с a равен последвано от името на вашата роля. Добавете отваряща скоба към името на функцията, параметрите разделени с запетая и заключителна затваряща скоба. Например:= NumberToLetters (A4) Можете също да използвате дефинираната от потребителя формула, като я потърсите в категорията Дефинирано от потребителя в съветника, за да въведете формулата. Просто щракнете върху бутона Fx разположени вляво от лентата с формули. Параметрите могат да бъдат три вида:
    1. Постоянни стойности, въведени директно във формулата на клетката. В този случай низовете трябва да бъдат затворени в кавички.
    2. Препратки към клетки като В6 или интервали като A1: C3 (параметърът трябва да бъде от тип Прекъсване "")
    3. Други функции, подредени във вашата функция (вашата функция може да бъде групирана в рамките на други функции). Това е: = факториал (MAX (D6: D8))
  7. Проверете дали резултатът е наред след като използвате функцията няколко пъти, уверете се, че тя обработва правилно различни стойности на параметри:

Съвети

  • Винаги, когато пишете блок от код в контролна структура като If, For, Do и т.н., не забравяйте да отстъпите блока с помощта на някои празни места или раздели (стилът на отстъпване зависи от вас).По този начин вашият код ще бъде по-лесен за разбиране и ще бъде много по-лесен за откриване на грешки и подобряване на кода.
  • Excel има много вградени функции и повечето изчисления могат да се извършват като се използват самостоятелно или в комбинация. Потърсете в списъка с наличните функции, преди да стартирате свой собствен код. Изпълнението може да бъде по-бързо, ако използвате вградени функции.
  • Понякога дадена функция може да не изисква всички параметри за изчисляване на резултат. В този случай можете да използвате ключовата дума По желание преди името на параметъра в заглавката на функцията. Можете да използвате IsMissing (име_на параметър) в рамките на кода, за да се определи дали дадена стойност е присвоена на параметъра или не.
  • Ако не знаете как да напишете кода за функция, прочетете Как да напишете прост макрос в Microsoft Excel.
  • Използвайте име, което все още не е дефинирано като име на функция в Excel, или в крайна сметка ще можете да използвате само една от функциите.

Предупреждения

  • Поради мерки за сигурност някои хора могат да деактивират макроси. Уведомете колегите си, че книгата, която изпращате, има макроси и може да се има доверие, тъй като те няма да навредят на вашите компютри.
  • Функциите, използвани в тази статия, не са най-добрият начин за решаване на споменатите проблеми. Те бяха използвани само за обяснение на използването на езикови структури за контрол.
  • VBA, както всеки друг език, има няколко други контролни структури освен Do, If и For. Те бяха обяснени тук, само за да се изясни какво може да се направи в рамките на изходния код на функцията. Налични са много онлайн уроци, където можете да научите VBA.

Други раздели СТАТИЯ ВИДЕО Растението лотос има отделно цвете, направено от централна шушулка, водеща до големи, разкошни венчелистчета. От класически картини до съвременно изкуство, лотосовите цветя ...

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

Се Появи Днес