Prohození jména a příjmení v oblasti buněk s pomocí textových funkcí a vlastních funkcí VBA

Pro informace o výuce Excelu klikněte zde

Mezi časté dotazy patří možnost prohození jména a příjmení v oblasti buněk.

Máme seznam jmen, u kterých chceme prohodit jméno a příjmení:

Vzorový sešit ke staženi (zip)

Možná řešení:

1. Využití průvodce převodu textu do sloupců

2. Využití textových funkcí a vlastních funkcí VBA

 

2. způsob – využití textových funkcí a vlastních funkcí VBA

2.1 -použití mezivzorců

Buňka Vzorec pro mezivýsledek Co dělá
C4 =PROČISTIT(B4) Odstraní přebytečné mezery
D4 =ZLEVA(C4;NAJÍT(” “;C4)-1) Vyjme první jméno
E4 =ZPRAVA(C4;DÉLKA(C4)-DÉLKA(D4)-1) Vyjme druhé jméno
F4 =E4&” “&D4 spojí druhé a první jméno dohromady

2.2 – použití megavzorce

do buňky C4 zadáme tento vzorec:

=ZPRAVA(PROČISTIT(B4);DÉLKA(PROČISTIT(B4))-NAJÍT(” “;PROČISTIT(B4)))&” “&ZLEVA(PROČISTIT(B4);NAJÍT(” “;PROČISTIT(B4))-1)

pokud nemáme ve jménech přebytečné mezery, můžeme funkci PROČISTIT vynechat a vzorec tak zjednodušit a zpřehlednit

=ZPRAVA(B4;DÉLKA(B4)-NAJÍT(” “;B4))&” “&ZLEVA(B4;NAJÍT(” “;B4)-1)

2.3 – použití vlastní funkce VBA

Dáme Nástroje – Makro – Editor jazyka Visual Basic

V editoru Insert – Module

do modulu zkopírujeme tento kód:

Function ProhoditJmena(Text As String) As String
Dim PrvniJmeno As String, DruheJmeno As String
Text = Application.Trim(Text)
PrvniJmeno = Left(Text, InStr(1, Text, " "))
DruheJmeno = Right(Text, Len(Text) - InStr(1, Text, " "))
ProhoditJmena = DruheJmeno & " " & PrvniJmeno
End Function

do buňky C4 zadáme tento vzorec:

=ProhoditJmena(B4)

2.4 – použití jiné vlastní funkce VBA – využívá funkce VBA Split, která vrací pole hodnot podle znaku – funguje od Excelu 2000 a výše


Function OtocitSlovaVeVete(Text As String) As String
Dim strT As String, i As Integer
Dim Tx
Text = Application.Trim(Text)
Tx = Split(Text, " ")
For i = UBound(Tx) To 0 Step -1
     strT = strT & " " & Tx(i)
Next i
OtocitSlovaVeVete = Application.Trim(strT)

End Function

do buňky C4 potom zadáme tento vzorec: =OtocitSlovaVeVete(B4)

Tato funkce se dá použít i pro otočení slov ve větě např. z věty

Excel je tabulkový kalkulátor.

vrátí

kalkulátor. tabulkový je Excel

viz první část: Prohození jména a příjmení v oblasti buněk s pomocí využití průvodce převodu textu do sloupců

Vzorový sešit ke staženi (zip)

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *