тестування, розуміння і т.д. Замість тісного панелі формул в розпорядження надається ціле вікно редагування коду, де складну логічну конструкцію можна розбити на зрозумілі лінії. Ще одна важлива перевага полягає в можливості вставки коментарів (і це слід максимально використовувати) безпосередньо поряд з кодом, до якого вони належать. Написання користувацьких функцій робочого листа. p align="justify"> користувача функції Excel - це просто звичайні процедури VBA-функцій. Якщо сказати коротко, процедура функції починається з декларації її імені і закінчується оператором End Function. Іноді всередині може знадобитися оператор, привласнює значення імені функції, дане значення якраз і повертає функція. У найпростішому прикладі, наведеному тут, саме це і демонструється:
FunctiDn MemoryAvailable () smoryAvailable = Application. MemoryFree
End Fu. icticn
Ця функція просто повертає кількість пам'яті в байтах, доступних в даний час для Excel. Зауважте, що, оскільки функція отримує дані про кількість доступної пам'яті з системи, вона не має аргументів. Нижче наведено приклад трохи більш складної функції, приймаючої аргументи:
Function CheckForvalue (aRange, Value)
For Each objCell In aRange = False 'за замовчуванням повертається значення
FalseobjCell. Value = Value Then = TrueForIf
Next objCell. Ction
Ця функція перевіряє діапазон комірок на наявність певного значення. Якщо значення є де-небудь в діапазоні, функція повертає значення True, в іншому випадку повертається значення F als e. Перед ініціюванням функції необхідно забезпечити її двома аргументами - діапазоном і шуканим значенням. p align="justify"> Професійне написання функцій
Не варто відмовлятися від можливості написання функції таким чином, щоб видається се результат був саме таким, як вам того хотілося б. Навіщо доручати формулою виконувати те, що можна зробити в самій функції? Наведена модифікація функції CheckForValue замість незрозумілих значень True і F alse повертає рядок поясняющего тексту:
Function CheckForVaiue2 (aRange, Value) Each objCell In aRange
CheckForValue2 = "шукане значення" 6 Value & __ "не знайдено"
I;: objCell. Value = value Then = "шукане значення" & Value & _ "знаходиться
в комірці "& objCell. AddressForIfobjCellFunction
Якщо модифікованої функції вдається знайти шукане значення будь-де всередині діапазону, вона повертає рядок на зразок Шукане значення 3, 57 знаходиться Б комірці SFS83; в іншому випадку повертається рядок Шукане значення 3,57 не знайдено. p>
. Практична частина
А) Створити...