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.


Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime len na čítanie v systéme Windows Microsoft Word otvára súbory v režime len na čítanie, takže ich nie je možné upravovať? Nebojte sa, metódy sú uvedené nižšie

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť chyby pri tlači nesprávnych dokumentov Microsoft Word Chyby pri tlači dokumentov Word so zmeneným typom písma, chaotickými odsekmi, chýbajúcim textom alebo strateným obsahom sú pomerne časté. Avšak, nie

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Ak ste použili pero alebo zvýrazňovač na kreslenie na powerpointové snímky počas prezentácie, môžete si kresby uložiť pre ďalšiu prezentáciu alebo ich vymazať, aby ste pri ďalšom zobrazení začali s čistými powerpointovými snímkami. Ak chcete vymazať kresby perom a zvýrazňovačom, postupujte podľa týchto pokynov: Vymazanie riadkov jedna na […]

Obsah knižnice štýlov v SharePointe 2010

Obsah knižnice štýlov v SharePointe 2010

Knižnica štýlov obsahuje súbory CSS, súbory XSL (Extensible Stylesheet Language) a obrázky používané preddefinovanými vzorovými stránkami, rozloženiami strán a ovládacími prvkami v SharePointe 2010. Ak chcete nájsť súbory CSS v knižnici štýlov publikačnej lokality: Vyberte Akcie lokality→Zobraziť Všetok obsah stránky. Zobrazí sa obsah stránky. Knižnica štýlov sa nachádza v […]

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Nezahlcujte svoje publikum obrovskými číslami. V programe Microsoft Excel môžete zlepšiť čitateľnosť svojich tabúľ a zostáv formátovaním čísel tak, aby sa zobrazovali v tisíckach alebo miliónoch.

Ako zdieľať a sledovať lokality SharePoint

Ako zdieľať a sledovať lokality SharePoint

Zistite, ako používať nástroje sociálnych sietí SharePoints, ktoré umožňujú jednotlivcom a skupinám komunikovať, spolupracovať, zdieľať a spájať sa.

Ako previesť dátumy do Julianových formátov v Exceli

Ako previesť dátumy do Julianových formátov v Exceli

Juliánske dátumy sa často používajú vo výrobných prostrediach ako časová pečiatka a rýchla referencia pre číslo šarže. Tento typ kódovania dátumu umožňuje maloobchodníkom, spotrebiteľom a servisným zástupcom identifikovať, kedy bol produkt vyrobený, a teda aj vek produktu. Juliánske dátumy sa používajú aj v programovaní, armáde a astronómii. Rôzne […]

Ako vytvoriť Access Web App

Ako vytvoriť Access Web App

V Accesse 2016 môžete vytvoriť webovú aplikáciu. Čo je to teda webová aplikácia? Web znamená, že je online a aplikácia je len skratka pre „aplikáciu“. Vlastná webová aplikácia je online databázová aplikácia, ku ktorej sa pristupuje z cloudu pomocou prehliadača. Vytvárate a udržiavate webovú aplikáciu vo verzii pre počítače […]

Panel rýchleho spustenia v SharePointe 2010

Panel rýchleho spustenia v SharePointe 2010

Väčšina stránok v SharePointe 2010 zobrazuje zoznam navigačných prepojení na paneli Rýchle spustenie pozdĺž ľavej strany stránky. Panel Rýchle spustenie zobrazuje prepojenia na odporúčaný obsah lokality, ako sú zoznamy, knižnice, lokality a publikačné stránky. Panel Rýchle spustenie obsahuje dva veľmi dôležité odkazy: Odkaz na celý obsah lokality: […]

Čo znamenajú chybové hlásenia v programe Excel?

Čo znamenajú chybové hlásenia v programe Excel?

Pre jednoduché problémy Riešiteľ v Exceli zvyčajne rýchlo nájde optimálne hodnoty premennej Riešiteľ pre cieľovú funkciu. V niektorých prípadoch má však Riešiteľ problém nájsť hodnoty premennej Riešiteľ, ktoré optimalizujú cieľovú funkciu. V týchto prípadoch Riešiteľ zvyčajne zobrazí hlásenie alebo chybové hlásenie, ktoré popisuje alebo diskutuje problém, ktorý […]