Obsah
Jednou z nejdůležitějších a nejpoužívanějších funkcí, které používáme při práci s VBA v aplikaci Excel je Střední funkce z VBA . Jako vstup přijímá řetězec a jako výstup vrací daný počet znaků ze středu řetězce. Dnes vám v tomto článku ukážu, jak můžete použít příkaz Střední funkce z VBA s vhodnými příklady a ilustracemi.
Vrátí se 9 znaků z řetězce "Angela Catherine Nevills" , počínaje 8. charakter. Je to "Catherine" .
Stáhnout cvičebnici
Stáhněte si tento cvičební sešit a procvičte si tento úkol při čtení tohoto článku.
Funkce VBA Mid Function.xlsmSeznámení s funkcí Mid jazyka VBA v aplikaci Excel
⧭ Cíl funkce:
Na stránkách Mid Funkce přijímá jako vstup hodnotu a jako výstup vrací daný počet znaků počínaje danou pozicí hodnoty.
Hodnota může být řetězec, číslo nebo dokonce boolean .
Pokud například vložíte Mid("Angela Catherine Nevills",8,9), vrátí se "Catherine" .
Pokud vložíte Mid(12345,2,3) , získáte 234.
A vložte Mid(False,2,3) , získáte als .
⧭ Syntaxe:
Syntaxe Střední funkce z VBA je:
=Mid(String,Start jako Long,[Length])
⧭ Argumenty:
Argument | Povinné / volitelné | Vysvětlení |
---|---|---|
Řetězec | Požadované | Řetězec, ze kterého bude vrácen počet znaků. |
Start | Požadované | Počáteční znak řetězce, který bude vrácen. |
Délka | Volitelně | Počet znaků, které budou vráceny. Výchozí hodnota je 1. |
⧭ Vrácená hodnota:
Vrátí zadaný počet znaků ze středu řetězce, počínaje zadanou pozicí.
3 příklady funkce Mid v aplikaci Excel
Tentokrát prozkoumáme Střední funkce z VBA podrobně a s několika příklady.
1. Oddělení daného počtu znaků od středu některých ID pomocí funkce Mid v aplikaci VBA v aplikaci Excel
Zde máme datovou sadu se znakem ID a Jména některých zaměstnanců společnosti Saturn Group.
Zde se 4. na 7. znaky každého ID označují rok nástupu příslušného zaměstnance.
Nyní vyvineme Funkce definovaná uživatelem pomocí Střední funkce z VBA který získá rok nástupu každého zaměstnance z databáze ID zaměstnance .
Můžete použít následující VBA kód:
⧭ Kód VBA:
Funkce Spojení_roku(ID) Spojení_roku = Mid(ID, 4, 4) Konec funkce
Poznámka: Tento kód vytvoří funkci s názvem Joining_Year .
⧭ Výstup:
Spusťte tuto funkci v libovolné buňce pracovního listu s ID jako argumentem.
Zde, v buňce D4 , jsme zadali vzorec:
=Joining_Year(B4)
Vrátil se rok nástupu prvního zaměstnance, 2021 .
Nyní můžete přetáhnout Plnicí rukojeť získat roky nástupu ostatních zaměstnanců.
⧭ Vysvětlení kodexu:
- Nejprve deklarujeme funkci s názvem Joining_Year který přijímá ID jako vstup pomocí řádku Funkce Joining_Year(ID) .
- Poté extrahujeme 4 znaků z ID počínaje pozicí 4 , podle řádku Joining_Year = Mid(ID, 4, 4) .
- Linka Konec funkce deklaruje konec funkce.
2. Extrakce přípon z některých e-mailových adres pomocí funkce Mid aplikace VBA v aplikaci Excel
Nyní jsme do datové sady přidali nový sloupec, který obsahuje e-mailové adresy zaměstnanců.
Tentokrát budeme extrahovat přípony e-mailových adres pomocí příkazu Mid funkce VBA .
Na stránkách Kód VBA bude:
⧭ Kód VBA:
Funkce Extension(Email_Address) Pro i = 1 Až 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
Poznámka: Tento kód vytvoří funkci s názvem Prodloužení .
⧭ Výstup:
Spusťte tuto funkci v libovolné buňce pracovního listu se symbolem E-mailová adresa jako argument.
Zde, v buňce E4 , jsme zadali vzorec:
=Rozšíření(D4)
Vrátila příponu první e-mailové adresy.
Pak můžete přetáhnout Plnicí rukojeť extrahovat přípony všech e-mailových adres.
⧭ Vysvětlení kodexu
- Nejprve deklarujeme funkci s názvem Prodloužení který přijímá libovolné jméno jako vstup pomocí řádku Funkce Extension(Email_Address) .
- Pak zahájíme iteraci s smyčka for který kontroluje každý znak E-mailová adresa zjistit, zda je @ nebo ne podle řádku If Mid(Email_Address, i, 1) = "@" Then .
- Pokud najde @ , pak z něj vytáhne požadované rozšíření. E-mailová adresa u linky Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) .
- Nakonec deklarujeme konec funkce.
3. Kontrola některých textů, zda obsahují určitý text, nebo ne
Jedním z nejdůležitějších použití Střední funkce je zjistit, zda text obsahuje určitý text, nebo ne.
Vyvineme funkci, která zkontroluje, zda je E-mailové adresy obsahují termín "gmail" nebo ne.
Můžete použít následující VBA kód:
⧭ Kód VBA:
Funkce 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
Poznámka: Tento kód vytvoří funkci s názvem Kontrola .
⧭ Výstup:
Spusťte tuto funkci v libovolné buňce pracovního listu se dvěma texty jako argumentem.
Zde, v buňce E4 , jsme zadali vzorec:
=Checking(D4, "gmail")
Vrátila se ano protože 1. e-mailová adresa je Gmail adresa.
Pak můžete přetáhnout Plnicí rukojeť provést totéž pro všechna ID e-mailu.
⧭ Vysvětlení kodexu:
- Nejprve deklarujeme funkci s názvem Kontrola který přijímá jako argumenty dva texty pomocí řádku Funkce Kontrola(Text1,Text2) .
- Poté spustíme smyčku for, která kontroluje každý segment Text1 vychází z pozice 1 , abyste zjistili, zda se rovná Text2 nebo ne, podle řádku If Mid(Text1, i, Len(Text2)) = Text2 Then .
- Pokud najde Text2 , pak vrátí "Ano" , v opačném případě vrací "Ne" .
- Nakonec funkci uzavřeme přímkou Konec funkce .
Na co nezapomenout
- Na stránkách 1. argumentu Střední funkce nemusí být vždy řetězec. Může to být řetězec řetězec , a číslo nebo dokonce boolean hodnotu.
- Ale 2. a 3. argumenty musí být čísla . Mohou být celá čísla nebo zlomky ale musí být čísla Pokud jsou zlomky , pak Střední funkce je převede na nejbližší celá čísla .