Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Přehled všech textových funkcí v Excelu s praktickými příklady pro uplatnění ve VBA.
Seznam textových funkcí v Microsoft Excelu s odkazy na použití ve VBA:
Sloučí několik textových řetězců do jednoho.
Range("B4").Formula = "=CONCATENATE(""Jméno"", "" "", ""Příjmení"")"
Range("B5").FormulaLocal = "=CONCATENATE(""Jméno""; "" ""; ""Příjmení"")"
Se znakem +
Hodnota = "2" + "3" ' >= "23"
MsgBox (Hodnota)
Hodnota = "2" + 3 ' >= 5
MsgBox (Hodnota)
Hodnota = 2 + "3" ' >= 5
MsgBox (Hodnota)
Hodnota = "A" + 3 ' => nefunguje chyby v typování
MsgBox (Hodnota)
Se znakem &
Hodnota = "2" & "3" ' => "23"
MsgBox (Hodnota)
Hodnota = "2" & 3 ' => "23"
MsgBox (Hodnota)
Hodnota = 2 & "3" ' => "12"
MsgBox (Hodnota)
Hodnota = 2 & 3 ' => "12"
MsgBox (Hodnota)
Hodnota = "A" & 3 ' => "A3"
MsgBox (Hodnota)
Hodnota = "A" & "B" ' => "AB"
MsgBox (Hodnota)
počet znaků z textového řetězce od zadané pozice
Range("B4").Formula = "=MID(""Tomáš Novák"", 1, 5)"
Range("B5").FormulaLocal = "=ČÁST(""Tomáš Novák""; 3; 5)"
Dim HodnotaMID As String
HodnotaMID = Mid("Abeceda", 3, 2)
MsgBox (HodnotaMID)
Počet znaků textového řetězce.
Range("C4").Formula = "=LEN(""Jméno"")"
Range("C5").FormulaLocal = "=DÉLKA(B5)"
ZjistujiPocet = "aaa"
Pocet = Len(ZjistujiPocet)
MsgBox (Pocet)
Range("B8").Formula = "=SUBSTITUTE(B5, ""nákupu"", ""prodeje"")"
Range("B8").FormulaLocal = "=DOSADIT(B5; ""nákupu""; ""prodeje"")"
Dim Vysledek As String
Vysledek = WorksheetFunction.Substitute("Práci udělám dnes", "dnes", "zítra")
MsgBox (Vysledek)
nebo:
Dim Vysledek As String
Vysledek=Replace("Práci udělám dnes", "dnes", "zítra")
MsgBox (Vysledek)
Od kolikátého znaku v daném řetězci začíná první výskyt hledaného znaku
Range("B4").Formula = "=SEARCH(""a"",""Abeceda"",1)"
Range("B5").FormulaLocal = "=HLEDAT(""a"";""Abeceda"";1)"
Dim Pozice As Integer
Pozice = InStr(1, "Pavel Lasák", "a")
MsgBox (Pozice)
nebo
Dim Pozice2 As Integer
Pozice2 = InStr(3, "Pavel Lasák", "a")
MsgBox (Pozice2)
nebo
Dim Pozice3 As Integer
Pozice3 = InStr(1, "Pavel Lasák", "ave")
MsgBox (Pozice3)
nebo
Dim Pozice3 As Integer
Pozice3 = InStr(1, "Pavel Lasák", "ave")
MsgBox (Pozice3)
Range("B4").Formula = "=VALUE(""1 000 Kč"")"
Range("B5").FormulaLocal = "=HODNOTA(""1 000 Kč"")"
Dim Vysledek As String
Vysledek = Evaluate("1.0%")
MsgBox (Vysledek)
Range("B4").Formula = "=TEXT(2.715, ""0,00 Kč"")"
Range("B5").FormulaLocal = "=HODNOTA.NA.TEXT(2,715; ""0,00 Kč"")"
Dim Procenta As String
Procenta = Format("0,981", "Percent")
MsgBox (Procenta)
' výsledek 98,10%
Range("D4").Formula = "=DOLLAR(B4,C4)"
Range("D5").FormulaLocal = "=KČ(B5;C6)"
Dim Vysledek As String
Vysledek = WorksheetFunction.Dollar(123.45, 2)
MsgBox (Vysledek)
Číselný kód prvního znaku textového řetězce
Range("C4").Formula = "=CODE(B4)"
Range("C5").FormulaLocal = "=KÓD(B5)"
Dim Vysledek As Integer
Vysledek = Asc("A")
MsgBox (Vysledek)
Převede text na malá písmena
Range("D4").Formula = "=LOWER(B4)"
Range("D5").FormulaLocal = "=MALÁ(B5)"
Dim Vysledek As String
Vysledek = LCase("ABECEDA")
MsgBox (Vysledek)
nahradí znaky uvnitř textu
Range("B8").Formula = "=REPLACE(B5,3,2,""*"")"
Range("B8").FormulaLocal = "=NAHRADIT(B5;3;2;""*"")"
Dim Vysledek As String
Vysledek = WorksheetFunction.Replace("Praci", 2, 2, "*")
MsgBox (Vysledek)
Pozor!
Dim Vysledek As String
Vysledek=Replace("Práci udělám dnes", "dnes", "zítra")
MsgBox (Vysledek)
' neprojde
Nalezne textovou hodnotu uvnitř jiné
Range("D4").Formula = "=FIND(B4,C4)"
Range("D5").FormulaLocal = "=NAJÍT(B5;C5)"
Dim Vysledek As String
Vysledek = WorksheetFunction.Find("x", "Expert")
MsgBox (Vysledek)
zopakuje text, podle požadovaného počtu zopakování
Range("B4").Formula = "=REPT(""*"",3)"
Range("B5").FormulaLocal = "=OPAKOVAT(""*"";3)"
Dim Vysledek As String
Vysledek = WorksheetFunction.Rept("* ", 2)
MsgBox (Vysledek)
odstraní z textu mezery
Range("B4").Formula = "=TRIM(""Pavel Lasák"")"
Range("B5").FormulaLocal = "=PROČISTIT(""Pavel Lasák"")"
Dim Vysledek As String
Vysledek = WorksheetFunction.Trim("Pavel Lasák")
MsgBox (Vysledek)
Podobná funkce VYČISTIT (netisknutelné znaky).
jsou dvě textové hodnoty shodné
Range("B4").Formula = "=EXACT(""ahoj"",""Ahoj"")"
Range("B5").FormulaLocal = "=STEJNÉ(""Ahoj"";""Ahoj"")"
Dim Vysledek As String
Vysledek = StrComp("ahoj", "Ahoj")
MsgBox (Vysledek)
Vysledek = StrComp("Ahoj", "Ahoj")
MsgBox (Vysledek)
převede argumenty na text
Range("B4").Formula = "=T(""Text"")"
Range("B5").FormulaLocal = "=T(""1 000 Kč"")"
v přípravě
v přípravě
v přípravě
převede text na velká písmena
Range("B4").Formula = "=UPPER(""abeceda"")"
Range("B5").FormulaLocal = "=VELKÁ(""abeceda"")"
Dim Vysledek As String
Vysledek = UCase("abeceda")
MsgBox (Vysledek)
Podobné funkce MALÁ, VELKÁ2
převede první písmeno každého slova na velké
Range("B4").Formula = "=PROPER(""abeCEDA"")"
Range("B5").FormulaLocal = "=VELKÁ2(""abeCEDA"")"
Dim Vysledek As String
Vysledek = Application.Proper("pokuS")
MsgBox (Vysledek)
odebere z textu netisknutelné znaky
Range("B7").Formula = "=CLEAN(B5)"
Range("B8").FormulaLocal = "=VYČISTIT(B5)"
Dim Vysledek As String
Vysledek = Application.WorksheetFunction.Clean(Range("B5"))
MsgBox (Vysledek)
Podobná funkce PROČISTIT.
zformátuje číslo jako text s pevným počtem desetinných míst
v přípravě
v přípravě
první znaky textu zleva
Range("B4").Formula = "=LEFT(""Prodejní cena"", 8)"
Range("B5").FormulaLocal = "=ZLEVA(""Prodejní cena""; 8)"
Dim Vysledek As String
Vysledek = Left("abeceda", 2)
MsgBox (Vysledek)
vratí znak určený číslem kódu
Range("B4").Formula = "=CHAR(65)"
Range("B5").FormulaLocal = "=ZNAK(65)"
MsgBox Chr(65)
vrátí počet znaků zprava
Range("B4").Formula = "=Right(""Prodejní cena"", 4)"
Range("B5").FormulaLocal = "=ZPRAVA(""Prodejní cena""; 4)"
Dim Vysledek As String
Vysledek = Right("abeceda", 2)
MsgBox (Vysledek)
Využíváte nějaké VBA triky s tetovými funkcemi, můžete zmínit v komentářích.
Článek byl aktualizován: 19.09.2020 11:06
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Můžete být prvními co zanechají smysluplný komentář.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |