Spis treści
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.xlsmWprowadzenie 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 .