Parsing pomenúva spôsob VBA

Dostali ste niekedy excelovský pracovný hárok s menami, v ktorom sú celé mená v jednej bunke? Vašou úlohou je rozdeliť mená na krstné meno a priezvisko - proces známy ako analýza. Na pomoc môžete skúsiť použiť vzorec a/alebo funkciu, alebo môžete použiť kód jazyka Visual Basic for Applications (VBA).

Bežným prístupom je nájsť medzeru medzi krstným menom a priezviskom a voila! – viete, kde končí krstné meno a začína priezvisko.

Pokiaľ nemáte mená so zložitejšou štruktúrou, ako napríklad Dr. William Healer alebo Zak H. Sneezer III.

Tu je typická rutina VBA, ktorá prezerá každé meno, znak po znaku, až kým nenájde medzeru. Potom umiestni všetko, čo je naľavo od priestoru v jednom stĺpci, a to, čo je napravo od priestoru v stĺpci po ňom.

Urobiť, kým ActiveCell = "
thename = ActiveCell.Value
Na hľadanie = 1 Lenovi (meno)
 If Mid(thename, looking, 1) = " " Potom
    ActiveCell.Offset(0, 1) = Left(názov, pohľad - 1)
    ActiveCell.Offset(0, 2) = Mid(názov, vzhľad + 1)
    Ukončiť pre
 Koniec Ak
Ďalšie
ActiveCell.Offset(1, 0).Aktivovať
Slučka

Táto rutina je užitočná pri analýze mien len s jednou medzerou, ako napríklad Harvey Wallbanger alebo Tom Collins. Nasledujúca tabuľka zobrazuje výsledok spustenia kódu na menách s viac ako jednou medzerou:

Dr William Healer DR. William Healer
Žák H. Kýchal III Zak H. Kýchal III

Toto nie je dobrý pokus o analýzu. Pri analýze Harveyho Wallbangera a Toma Collinsa to fungovalo dobre, ale pri ostatných menách to tak dobre nebolo.

Tu je rozvinutejšia technika, ktorá prináša lepšie výsledky. Majte na pamäti, že analýza mien nie je dokonalá, ale takto to robí lepšie.

Technika je spočítať, koľko medzier je v celom názve, a potom rozdeliť názov na jednu z medzier. Najmä, ak sú tri alebo viac medzier, použite ako medzeru medzeru dva sprava; v opačnom prípade použite medzeru úplne vpravo ako medzeru.

Tento proces je spustený v podprograme VBA, ktorý volá funkciu počas cyklovania mien. Počet medzier je určený na začiatku hlavnej slučky a funkcia vráti pozíciu, kde sa nachádza medzera.

Sub parse_names()
  Dim thename As String
  Dim spaces As Integer
  Urobiť, kým ActiveCell = "
    thename = ActiveCell.Value
    medzery = 0
    Na test = 1 Len (meno)
      Ak Mid(meno, test, 1) = " " Potom
      medzery = medzery + 1
    Koniec Ak
  Ďalšie
  Ak medzery >= 3 Potom
    break_space_position = space_position(" ", názov, medzery - 1)
  Inak
    break_space_position = space_position(" ", názov, medzery)
  Koniec Ak
  Ak medzery > 0 Potom
    ActiveCell.Offset(0, 1) = Left(thename, break_space_position - 1)
    ActiveCell.Offset(0, 2) = Mid(názov, poloha_medzera + 1)
  Inak
    Toto je pre prípad, keď je celé meno iba jedno meno bez medzier
    ActiveCell.Offset(0, 1) = názov
  Koniec Ak
  ActiveCell.Offset(1, 0).Aktivovať
  Slučka
End Sub
Funkcia space_position(what_to_look_for As String, what_to_look_in As String, space_count As Integer) As Integer
  Dim loop_counter As Integer
    space_position = 0
    Pre loop_counter = 1 To space_count
      space_position = InStr(loop_counter + space_position, what_to_look_in, what_to_look_for)
      Ak space_position = 0, potom Exit For
    Ďalšie
End Function

Nasledujúca tabuľka ukazuje, ako teraz vyzerá výsledok:

Dr William Healer Dr William Liečiteľ
Žák H. Kýchal III Zak H. Kýchač III

Analýza mien je rovnako umenie ako technický proces. V tomto druhom príklade sú všetky mená a priezviská v správnych stĺpcoch. Ak by sa zaviedol nový dlhý názov s piatimi alebo viacerými medzerami, rutina by mohla mať nesprávnu analýzu a kód VBA by potreboval viac podmieneného testovania. Ale tento príklad je teraz na správnej ceste ako rutina priemyselnej analýzy mien.

Leave a Comment

Ako zmeniť pozadie v PowerPointe 2019

Ako zmeniť pozadie v PowerPointe 2019

Naučte sa, ako jednoducho zmeniť pozadie v PowerPointe 2019, aby vaše prezentácie pôsobili pútavo a profesionálne. Získajte tipy na plnú farbu, prechod, obrázky a vzory.

Ako používať štatistické funkcie v Exceli na počítanie položiek v množine údajov

Ako používať štatistické funkcie v Exceli na počítanie položiek v množine údajov

Excel poskytuje štyri užitočné štatistické funkcie na počítanie buniek v hárku alebo zozname: COUNT, COUNTA, COUNTBLANK a COUNTIF. Pre viac informácií o Excel funkciách, pokračujte.

Klávesové skratky pre bežné príkazy zobrazenia Excel 2013

Klávesové skratky pre bežné príkazy zobrazenia Excel 2013

Objavte efektívne klávesové skratky v Exceli 2013 pre zobrazenie, ktoré vám pomôžu zlepšiť produktivitu. Všetky skratky sú začiatkom s Alt+W.

Ako nastaviť okraje stránky v programe Word 2013

Ako nastaviť okraje stránky v programe Word 2013

Naučte sa, ako nastaviť okraje v programe Word 2013 s naším jednoduchým sprievodcom. Tento článok obsahuje užitočné tipy a predvoľby okrajov pre váš projekt.

Ako používať štatistické funkcie na výpočet priemerov, režimov a mediánov v Exceli

Ako používať štatistické funkcie na výpočet priemerov, režimov a mediánov v Exceli

Excel vám poskytuje niekoľko štatistických funkcií na výpočet priemerov, režimov a mediánov. Pozrite si podrobnosti a príklady ich použitia.

Ako zistiť a opraviť chyby vzorcov v Exceli 2016

Ako zistiť a opraviť chyby vzorcov v Exceli 2016

Excel 2016 ponúka niekoľko efektívnych spôsobov, ako opraviť chyby vo vzorcoch. Opravy môžete vykonávať po jednom, spustiť kontrolu chýb a sledovať odkazy na bunky.

Archivácia priečinkov programu Outlook

Archivácia priečinkov programu Outlook

V niektorých prípadoch Outlook ukladá e-mailové správy, úlohy a plánované činnosti staršie ako šesť mesiacov do priečinka Archív – špeciálneho priečinka pre zastarané položky. Učte sa, ako efektívne archivovať vaše položky v Outlooku.

Vytváranie a formátovanie tabuliek v programe Word 2019

Vytváranie a formátovanie tabuliek v programe Word 2019

Word vám umožňuje robiť rôzne zábavné veci s tabuľkami. Učte sa o vytváraní a formátovaní tabuliek vo Worde 2019. Tabuľky sú skvelé na organizáciu informácií.

Výber rozsahu Excel VBA

Výber rozsahu Excel VBA

V článku sa dozviete, ako umožniť používateľovi vybrať rozsah v Excel VBA pomocou dialógového okna. Získajte praktické tipy a príklady na zlepšenie práce s rozsahom Excel VBA.

Výpočet percentuálneho rozptylu so zápornými hodnotami v Exceli

Výpočet percentuálneho rozptylu so zápornými hodnotami v Exceli

Vzorec na výpočet percentuálnej odchýlky v Exceli s funkciou ABS pre správne výsledky aj so zápornými hodnotami.