Parsing imenuje VBA način

Jeste li ikada dobili Excel radni list s imenima, u kojem su sva imena u jednoj ćeliji? Vaš zadatak je razbiti imena na ime, prezime - proces poznat kao raščlanjivanje. Možete pokušati upotrijebiti formulu i/ili funkciju kao pomoć ili možete koristiti Visual Basic za aplikacije (VBA) kod.

Uobičajeni pristup je pronaći razmak između imena i prezimena, i voila! – znate gdje završava ime i počinje prezime.

Osim ako nemate imena koja su složenije strukture, kao što su dr. William Healer ili Zak H. Sneezer III.

Ovdje je tipična VBA rutina koja pregledava svako ime, znak po znak, dok ne pronađe razmak. Zatim stavlja sve što je lijevo od prostora u jednom stupcu i ono što je desno od prostora u stupcu nakon.

Učini do ActiveCell = "
naziv = ActiveCell.Vrijednost
Za traženje = 1 To Len(ime)
 Ako je Mid(thename, looking, 1) = " " Onda
    ActiveCell.Offset(0, 1) = Lijevo (naziv, izgled - 1)
    ActiveCell.Offset(0, 2) = Sredina (ime, izgleda + 1)
    Izlaz za
 Završi ako
Sljedeći
ActiveCell.Offset(1, 0).Aktiviraj
Petlja

Ova rutina je korisna za raščlanjivanje imena sa samo jednim razmakom, kao što su Harvey Wallbanger ili Tom Collins. Sljedeća tablica prikazuje rezultat pokretanja koda na imenima s više od jednog razmaka:

dr. William Healer dr. William Iscjelitelj
Zak H. Sneezer III Zak H. Sneezer III

Ovo nije dobar pokušaj raščlanjivanja. Bilo je dobro za raščlanjivanje Harveya Wallbangera i Toma Collinsa, ali ne tako dobro za ostala imena.

Ovdje je razvijenija tehnika koja daje bolje rezultate. Imajte na umu da raščlanjivanje imena nije savršeno, ali ovaj način radi bolje.

Tehnika je da se izbroji koliko je mjesta u punom nazivu, a zatim se naziv razdvoji na jednom od razmaka. Konkretno, ako postoje tri ili više razmaka, koristite razmak dva u desno kao razmak; inače, koristite krajnji desni razmak kao razmak.

Ovaj proces se izvodi u VBA potprogramu koji poziva funkciju dok petlja kroz imena. Broj razmaka određuje se rano u glavnoj petlji, a funkcija vraća poziciju na kojoj se nalazi razmak.

Sub parse_names()
  Zatamnite naziv As String
  Zatamnjeni razmaci kao cijeli broj
  Učini do ActiveCell = "
    naziv = ActiveCell.Vrijednost
    razmaci = 0
    Za test = 1 To Len(ime)
      Ako je Mid(ime, test, 1) = " " Onda
      razmaci = razmaci + 1
    Završi ako
  Sljedeći
  Ako je razmaka >= 3 Tada
    break_space_position = space_position(" ", thename, spaces - 1)
  Drugo
    break_space_position = space_position(" ", thename, spaces)
  Završi ako
  Ako su razmaci > 0 Tada
    ActiveCell.Offset(0, 1) = Lijevo (naziv, pozicija_razmaka - 1)
    ActiveCell.Offset(0, 2) = Sredina (naziv, pozicija_razmaka + 1)
  Drugo
    ' ovo je za slučaj kada je puno ime samo jedno ime bez razmaka
    ActiveCell.Offset(0, 1) = ime
  Završi ako
  ActiveCell.Offset(1, 0).Aktiviraj
  Petlja
Kraj Sub
Funkcija space_position(what_to_look_for As String, what_to_look_in As String, space_count As Integer) Kao cijeli broj
  Dim loop_counter Kao cijeli broj
    razmak_položaj = 0
    For loop_counter = 1 To space_count
      space_position = InStr(loop_counter + space_position, what_to_trait_in, what_to_trait_for)
      Ako je space_position = 0, onda Exit For
    Sljedeći
Završna funkcija

Sljedeća tablica pokazuje kako sada izgleda rezultat:

dr. William Healer dr. William iscjelitelj
Zak H. Sneezer III Zak H. Kihalica III

Raščlamba imena jednako je umjetnost koliko i tehnički proces. U ovom drugom primjeru sva imena i prezimena su u ispravnim stupcima. Ako se uvede novi dugi naziv s pet ili više razmaka, rutina bi mogla pogrešno analizirati, a VBA kod bi trebao u njega staviti više uvjetnog testiranja. Ali ovaj primjer je sada na pravom putu kao rutina raščlanjivanja imena industrijske snage.

Leave a Comment

Kako postaviti upit u bazu podataka MS Access 2019

Kako postaviti upit u bazu podataka MS Access 2019

Naučite kako postaviti upite u Access bazi podataka uz jednostavne korake i savjete za učinkovito filtriranje i sortiranje podataka.

Osnove tabulatora u programu Word 2013

Osnove tabulatora u programu Word 2013

Tabulatori su oznake položaja u odlomku programa Word 2013 koje određuju kamo će se točka umetanja pomaknuti kada pritisnete tipku Tab. Otkrijte kako prilagoditi tabulatore i optimizirati svoj rad u Wordu.

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Word 2010 nudi mnoge načine označavanja i poništavanja odabira teksta. Otkrijte kako koristiti tipkovnicu i miš za odabir blokova. Učinite svoj rad učinkovitijim!

Kako uvući pasus u Wordu 2013

Kako uvući pasus u Wordu 2013

Naučite kako pravilno postaviti uvlaku za odlomak u Wordu 2013 kako biste poboljšali izgled svog dokumenta.

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Naučite kako jednostavno otvoriti i zatvoriti svoje Microsoft PowerPoint 2019 prezentacije s našim detaljnim vodičem. Pronađite korisne savjete i trikove!

Kako crtati jednostavne objekte u PowerPointu 2013

Kako crtati jednostavne objekte u PowerPointu 2013

Saznajte kako crtati jednostavne objekte u PowerPoint 2013 uz ove korisne upute. Uključuje crtanje linija, pravokutnika, krugova i više.

Kako filtrirati podatke u programu Access 2016

Kako filtrirati podatke u programu Access 2016

U ovom vodiču vam pokazujemo kako koristiti alat za filtriranje u programu Access 2016 kako biste lako prikazali zapise koji dijele zajedničke vrijednosti. Saznajte više o filtriranju podataka.

Formule za zaokruživanje brojeva u Excelu

Formule za zaokruživanje brojeva u Excelu

Saznajte kako koristiti Excelove funkcije zaokruživanja za prikaz čistih, okruglih brojeva, što može poboljšati čitljivost vaših izvješća.

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Zaglavlje ili podnožje koje postavite isto je za svaku stranicu u vašem Word 2013 dokumentu. Otkrijte kako koristiti različita zaglavlja za parne i neparne stranice.

Excel izvješća: prilagođeno oblikovanje brojeva

Excel izvješća: prilagođeno oblikovanje brojeva

Poboljšajte čitljivost svojih Excel izvješća koristeći prilagođeno oblikovanje brojeva. U ovom članku naučite kako se to radi i koja su najbolja rješenja.