Як використовувати середню функцію VBA в Excel (3 приклади)

  • Поділитися Цим
Hugh West

Однією з найбільш важливих і широко використовуваних функцій, які ми застосовуємо при роботі з 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-й Аргументи повинні бути цифри Це можуть бути цілі числа або частки але має бути цифри Якщо вони є частки то в цьому випадку Середня функція перетворить їх на найближчі цілі числа .

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.