Jak używać funkcji Mid w VBA w Excelu (3 przykłady)

  • Udostępnij To
Hugh West

Jedną z najważniejszych i najczęściej używanych funkcji, które wykorzystujemy podczas pracy z VBA w Excelu to. Funkcja środkowa z VBA Przyjmuje ona ciąg znaków jako wejście i zwraca na wyjście określoną liczbę znaków ze środka ciągu. Dziś w tym artykule pokażę Ci, jak możesz użyć funkcji Funkcja środkowa z VBA z odpowiednimi przykładami i ilustracjami.

To zwróci 9 znaki z ciągu "Angela Catherine Nevills" , począwszy od. 8. postać. To jest "Katarzyna" .

Pobierz Zeszyt ćwiczeń

Pobierz ten zeszyt ćwiczeń, aby ćwiczyć zadania podczas czytania tego artykułu.

VBA Mid Function.xlsm

Wprowadzenie do funkcji Mid w VBA w Excelu

Funkcja Cel:

Na stronie Mid Funkcja przyjmuje na wejście wartość i zwraca na wyjście daną liczbę znaków rozpoczynających się od danej pozycji wartości.

Wartość może być ciąg, liczba , czy nawet boolean .

Na przykład, jeśli wstawisz Mid("Angela Catherine Nevills",8,9), to wróci "Katarzyna" .

Jeśli włożysz Mid(12345,2,3) , otrzymasz 234.

I włóż Mid(False,2,3) , dostaniesz als .

Składnia:

The Syntax of the Funkcja środkowa z VBA jest:

=Mid(String,Start as Long,[Length])

Argumenty:

Argument Wymagane / Opcjonalne Wyjaśnienie
String Wymagane Ciąg znaków, z którego zostanie zwrócona liczba znaków.
Start Wymagane Znak początkowy łańcucha, który zostanie zwrócony.
Długość Opcjonalnie Liczba znaków, które zostaną zwrócone. Domyślnie jest to 1.

Return Value:

Zwraca podaną liczbę znaków ze środka ciągu, zaczynając od podanej pozycji.

3 Przykłady zastosowania funkcji Mid w VBA w Excelu

Tym razem poznajmy Funkcja środkowa z VBA w szczegółach z kilkoma przykładami.

1) Oddzielenie danej liczby znaków od środka niektórych identyfikatorów za pomocą funkcji Mid w VBA w Excelu

Mamy tu zestaw danych z. Identyfikatory oraz Nazwy niektórych pracowników firmy o nazwie Saturn Group.

Tutaj 4. do 7. Znaki każdego identyfikatora oznaczają rok przystąpienia danego pracownika do pracy.

Teraz opracujemy Funkcja zdefiniowana przez użytkownika używając Funkcja środkowa z VBA który wyodrębni rok przystąpienia każdego pracownika z Identyfikator pracownika .

Możesz użyć następujących elementów VBA kod:

VBA Kod:

 Function Joining_Year(ID) Joining_Year = Mid(ID, 4, 4) End Function 

Uwaga: Ten kod tworzy funkcję o nazwie Przystępujący_rok .

Wyjście:

Uruchom tę funkcję w dowolnej komórce arkusza z identyfikatorem jako argumentem.

Tutaj, w komórce D4 , wpisaliśmy wzór:

=Rok Przystąpienia(B4)

Zwróciło ono rok dołączenia pierwszego pracownika, 2021 .

Teraz możesz przeciągnąć Uchwyt do napełniania aby uzyskać lata dołączenia pozostałych pracowników.

Objaśnienia do kodeksu:

  • Najpierw deklarujemy funkcję o nazwie Przystępujący_rok która przyjmuje identyfikator jako wejście przez linię Funkcja Łączenie_roku(ID) .
  • Następnie wyodrębniamy 4 znaki z ID, począwszy od pozycji 4 , przez linię Joining_Year = Mid(ID, 4, 4) .
  • Linia End Function deklaruje koniec funkcji.

2. wyodrębnianie rozszerzeń z niektórych adresów e-mail za pomocą funkcji Mid VBA w Excelu

Teraz dodaliśmy do zestawu danych nową kolumnę, która zawiera adresy Email pracowników.

Tym razem wyodrębnimy rozszerzenia adresów e-mail za pomocą Mid funkcja VBA .

Na stronie Kod VBA będzie:

VBA Kod:

 Function Extension(Email_Address) For i = 1 To Len(Email_Address) If Mid(Email_Address, i, 1) = "@" Then Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) End If Next i End Function 

Uwaga: Ten kod tworzy funkcję o nazwie Przedłużenie .

Wyjście:

Uruchom tę funkcję w dowolnej komórce arkusza o numerze Adres e-mail jako argument.

Tutaj, w komórce E4 , wpisaliśmy wzór:

=Rozszerzenie(D4)

Zwróciło rozszerzenie pierwszego adresu e-mail.

Następnie możesz przeciągnąć Uchwyt do napełniania aby wyodrębnić rozszerzenia wszystkich adresów e-mail.

Objaśnienia do kodeksu

  • Najpierw deklarujemy funkcję o nazwie Przedłużenie która przyjmuje dowolną nazwę jako wejście przez linię Function Extension(Email_Address) .
  • Następnie rozpoczynamy iterację z a for-loop która sprawdza każdy znak Adres e-mail żeby zobaczyć, czy to @ czy nie przez linię If Mid(Email_Address, i, 1) = "@" Then .
  • Jeśli znajdzie @ Następnie wyodrębnia wymagane rozszerzenie z Adres e-mail przez linię Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) .
  • Na koniec deklarujemy zakończenie funkcji.

3. sprawdzanie niektórych tekstów w celu sprawdzenia, czy zawierają one określony tekst, czy też nie

Jednym z najważniejszych zastosowań Funkcja środkowa jest sprawdzenie, czy tekst zawiera określony tekst, czy nie.

Opracujmy funkcję, która sprawdzi, czy. Adresy e-mail zawierają termin "gmail" lub nie.

Możesz użyć następujących elementów VBA kod:

VBA Kod:

 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 

Uwaga: Ten kod tworzy funkcję o nazwie Sprawdzanie .

Wyjście:

Uruchom tę funkcję w dowolnej komórce swojego arkusza, podając jako argument dwa teksty.

Tutaj, w komórce E4 , wpisaliśmy wzór:

=Checking(D4, "gmail")

Wrócił tak ponieważ 1. adres e-mail to Gmail adres.

Następnie możesz przeciągnąć Uchwyt do napełniania aby zrobić to samo dla wszystkich identyfikatorów e-mail.

Objaśnienia do kodeksu:

  • Najpierw deklarujemy funkcję o nazwie Sprawdzanie która przyjmuje dwa teksty jako argumenty przez linię Funkcja Sprawdzanie(Tekst1,Tekst2) .
  • Następnie uruchamiamy pętlę for, która sprawdza każdy segment Tekst1 zaczynając od pozycji 1 , aby sprawdzić, czy jest równa Tekst2 lub nie, przez linię If Mid(Text1, i, Len(Text2)) = Text2 Then .
  • Jeśli znajdzie Tekst2 , następnie zwraca "Tak" w przeciwnym razie zwraca "Nie" .
  • Na koniec kończymy funkcję linią End Function .

Rzeczy do zapamiętania

  • Na stronie 1. argument z Funkcja środkowa nie musi być zawsze ciągiem znaków, może być ciąg , a numer , czy nawet boolean wartość.
  • Jednak. 2. oraz 3. argumenty muszą być numery . They can be liczby całkowite lub ułamki ale musi być numery . If they are ułamki , to. Funkcja środkowa przeliczy je na najbliższe liczby całkowite .

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.