Зміст
Однією з найбільш важливих і широко використовуваних функцій, які ми застосовуємо при роботі з VBA в Excel - це Середня функція з VBA Він отримує на вхід рядок і повертає задану кількість символів з середини рядка. Сьогодні в цій статті я покажу вам, як можна використовувати функцію Середня функція з VBA з відповідними прикладами та ілюстраціями.
Це поверне 9 символи з рядка "Анжела Кетрін Невіллс" , починаючи з 8-й характер. Це "Катерина" .
Завантажити Практичний посібник
Завантажте цей практичний посібник, щоб виконати завдання, поки ви читаєте цю статтю.
VBA Mid Function.xlsmВведення в середню функцію VBA в Excel
⧭ Функція Мета:
На сьогоднішній день, на жаль, це не так. Середній функція отримує на вхід значення і повертає на виході задану кількість символів, починаючи з заданої позиції значення.
Значенням може бути рядок, число або навіть булевий .
Наприклад, якщо вставити Mid("Angela Catherine Nevills",8,9), Він повернеться. "Катерина".
Якщо ви вставите Mid(12345,2,3) , Ви отримаєте 234.
І вставити Mid(False,2,3) , ви отримаєте також .
⧭ Синтаксис:
Синтаксис мови, що використовується для написання Середня функція з VBA є:
=Mid(String,Start as Long,[Length])
⧭ Аргументи:
Аргумент | Обов'язково / необов'язково | Пояснення |
---|---|---|
Рядок | Необхідно | Рядок, з якого буде повернуто кількість символів. |
Старт | Необхідно | Початковий символ рядка, який буде повернуто. |
Довжина | За бажанням | Кількість символів, які будуть повернуті. За замовчуванням 1. |
⧭ Значення, що повертається:
Повертає задану кількість символів з середини рядка, починаючи з заданої позиції.
3 Приклади використання середньої функції VBA в Excel
Цього разу розглянемо Середня функція з VBA детально з кількома прикладами.
1. відокремлення заданої кількості символів від середини деяких ідентифікаторів за допомогою функції середини VBA в Excel
Тут ми маємо набір даних з Посвідчення особи і Імена деяких співробітників компанії під назвою "Сатурн Груп".
Тут, в рамках програми "Відкритий світ", відбулася презентація 4-й до 7-й символи кожного ідентифікатора означають рік вступу на роботу відповідного працівника.
Тепер ми розробимо Функція, що визначається користувачем за допомогою Середня функція з VBA який витягне рік вступу кожного працівника на роботу з Посвідчення працівника .
Ви можете скористатися наступним VBA код:
⧭ Код VBA:
Function Рік_приєднання(ID) Рік_приєднання = Mid(ID, 4, 4) End Function
Зауважте: У даному коді створюється функція з іменем Рік приєднання .
⧭ Виходьте:
Запустіть цю функцію в будь-якій комірці робочого аркуша з ідентифікатором в якості аргументу.
Тут, в камері D4 ми ввели формулу:
=Рік_приєднання(B4)
Він повернув рік вступу на роботу першого працівника, 2021 .
Тепер ви можете перетягнути Ручка наповнення отримати стаж роботи решти працівників.
⧭ Пояснення до Кодексу:
- Спочатку оголошується функція з іменем Рік приєднання який отримує ідентифікатор в якості вхідних даних від рядка Функція Рік_приєднання(ID) .
- Потім витягуємо 4 символи з ідентифікатора, починаючи з позиції 4 по лінії Рік_приєднання = Mid(ID, 4, 4) .
- Лінія Кінцева функція декларує кінець функції.
2. вилучення розширення з деяких адрес електронної пошти за допомогою середньої функції VBA в Excel
Тепер ми додали нову колонку до набору даних, яка містить електронні адреси співробітників.
Цього разу ми витягнемо розширення адрес електронної пошти за допомогою Середній функція VBA .
На сьогоднішній день, на жаль, це не так. VBA код буде:
⧭ Код VBA:
Function Extension(Email_адреса) For i = 1 To Len(Email_адреса) If Mid(Email_адреса, i, 1) = "@" Then Extension = Mid(Email_адреса, i + 1, Len(Email_адреса) - (i + 4)) End If Next i End Function
Зауважте: У даному коді створюється функція з іменем Розширення .
⧭ Виходьте:
Запустіть цю функцію в будь-якій комірці робочого аркуша за допомогою команди Адреса електронної пошти як аргумент.
Тут, в камері E4 ми ввели формулу:
= Розширення(D4)
Він повернув розширення першої електронної адреси.
Потім ви можете перетягнути Ручка наповнення витягнути розширення всіх адрес електронної пошти.
⧭ Пояснення до Кодексу
- Спочатку оголошується функція з іменем Розширення що приймає на вхід довільне ім'я за допомогою рядка Розширення функції (Email_адреса) .
- Потім ми починаємо ітерацію з цикл який перевіряє кожен символ рядка Адреса електронної пошти щоб дізнатися, чи це @ або не по лінії If Mid(Email_Address, i, 1) = "@" Then .
- Якщо він знайде @ потім він витягує потрібне розширення з Адреса електронної пошти по лінії Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) .
- Нарешті, ми оголошуємо кінець функції.
3. перевірка деяких текстів на наявність чи відсутність у них певного тексту
Одним з найважливіших напрямків використання Середня функція полягає в тому, щоб побачити, чи є в тексті певний текст чи ні.
Розробимо функцію, яка перевіряє, чи є Адреси електронної пошти містити термін "gmail" чи ні.
Ви можете скористатися наступним VBA код:
⧭ Код VBA:
Function Checking(Text1, Text2) For i = 1 To Len(Text1) If Mid(Text1, i, Len(Text2)) = Text2 Then Checking = "Yes" Exit For Else Checking = "No" End If Next i End Function
Зауважте: У даному коді створюється функція з іменем Перевірка .
⧭ Виходьте:
Запустіть цю функцію в будь-якій комірці робочого аркуша з двома текстами в якості аргументу.
Тут, в камері E4 ми ввели формулу:
=Перевірка(D4, "gmail")
Він повернувся так тому що 1-а адреса електронної пошти - це Gmail Адреса.
Потім ви можете перетягнути Ручка наповнення зробити те ж саме для всіх ідентифікаторів електронної пошти.
⧭ Пояснення до Кодексу:
- Спочатку оголошується функція з іменем Перевірка яка отримує два тексти в якості аргументів по рядку Функція Перевірка(Текст1,Текст2) .
- Потім запускається цикл for, який перевіряє кожен відрізок Текст1 починаючи з позиції 1 щоб перевірити, чи дорівнює вона Текст2 чи ні, по лінії If Mid(Text1, i, Len(Text2)) = Text2 Then .
- Якщо він знайде Текст2 а потім повертається "Так" інакше повертається "Ні" .
- Нарешті, завершимо функцію рядком Кінцева функція .
Важливі моменти для запам'ятовування
- На сьогоднішній день, на жаль, це не так. 1-й Аргумент про те, що Середня функція не обов'язково завжди має бути рядком. Це може бути рядок , a кількість або навіть булевий цінність.
- А ось у 2-й і 3-й Аргументи повинні бути цифри Це можуть бути цілі числа або частки але має бути цифри Якщо вони є частки то в цьому випадку Середня функція перетворить їх на найближчі цілі числа .