Vardų analizė VBA būdu

Ar jums kada nors buvo suteiktas „Excel“ darbalapis su pavadinimais, kuriuose visi vardai yra vienoje langelyje? Jūsų užduotis yra suskirstyti vardus į vardą ir pavardę – procesas žinomas kaip analizavimas. Galite pabandyti naudoti formulę ir (arba) funkciją, kad padėtų, arba galite naudoti „Visual Basic for Applications“ (VBA) kodą.

Įprastas būdas yra rasti tarpą tarp vardo ir pavardės ir voila! – žinote, kur baigiasi vardas ir prasideda pavardė.

Nebent turite sudėtingesnės struktūros vardus, pvz., Dr. William Healer arba Zak H. Sneezer III.

Čia yra tipiška VBA rutina, kuri peržiūri kiekvieną pavadinimą po simbolio, kol randa tarpą. Tada į vieną stulpelį įdeda viską, kas yra kairėje nuo tarpo, o tai, kas yra stulpelio dešinėje.

Atlikite iki ActiveCell = "
thename = ActiveCell.Value
Ieškote = 1 Len (vardas)
 Jei Vidutinis(vardas, išvaizda, 1) = " " Tada
    ActiveCell.Offset(0, 1) = Kairė(pavadinimas, atrodo - 1)
    ActiveCell.Offset(0, 2) = Vidutinis(pavadinimas, atrodo + 1)
    Išeiti už
 Pabaiga, jei
Kitas
ActiveCell.Offset(1, 0).Suaktyvinti
Kilpa

Ši tvarka yra naudinga nagrinėjant vardus tik vienu tarpu, pvz., Harvey Wallbanger arba Tomas Collinsas. Šioje lentelėje rodomas kodo paleidimo varduose, kuriuose yra daugiau nei vienas tarpas, rezultatas:

Daktaras Williamas Healeris Dr. Viljamas gydytojas
Zakas H. Sneezeris III Zak H. Čiaudulys III

Tai nėra geras bandymas analizuoti. Tai puikiai sekėsi analizuojant Harvey Wallbangerį ir Tomą Collinsą, bet ne taip gerai kitiems vardams.

Čia yra labiau išvystyta technika, kuri suteikia geresnių rezultatų. Turėkite omenyje, kad vardų analizė nėra tobula, tačiau taip elgiantis geriau.

Metodas yra suskaičiuoti, kiek tarpų yra pilname pavadinime, ir tada suskaidyti pavadinimą vienoje iš tarpų. Visų pirma, jei yra trys ar daugiau tarpų, kaip pertraukimo tarpą naudokite tarpą dviem coliais iš dešinės; kitu atveju naudokite dešinėje esančią tarpą kaip laužymo tarpą.

Šis procesas vykdomas naudojant VBA paprogramę, kuri iškviečia funkciją, kai renkasi pavadinimus. Tarpų skaičius nustatomas pagrindinės kilpos pradžioje, o funkcija grąžina padėtį, kurioje yra laužymo tarpas.

Sub parse_names()
  Dim thename As String
  Neryškios erdvės kaip sveikasis skaičius
  Atlikite iki ActiveCell = "
    thename = ActiveCell.Value
    tarpai = 0
    Testui = 1 Len (vardas)
      Jei Vidutinis(vardas, testas, 1) = " " Tada
      tarpai = tarpai + 1
    Pabaiga, jei
  Kitas
  Jei tarpai >= 3 Tada
    break_space_position = space_position(" ", pavadinimas, tarpai - 1)
  Kitas
    break_space_position = space_position(" ", pavadinimas, tarpai)
  Pabaiga, jei
  Jei tarpai > 0 Tada
    ActiveCell.Offset(0, 1) = Kairė(pavadinimas, pertraukos_tarpo_pozicija – 1)
    ActiveCell.Offset(0, 2) = Vidurio(pavadinimas, break_space_position + 1)
  Kitas
    Tai taikoma, kai visas vardas yra tik vienas vardas be tarpų
    ActiveCell.Offset(0, 1) = pavadinimas
  Pabaiga, jei
  ActiveCell.Offset(1, 0).Suaktyvinti
  Kilpa
Pabaigos sub
Funkcija space_position(what_to_look_for As String, what_to_look_in As String, space_count As Integer) Kaip Integer
  Dim loop_counter Kaip sveikasis skaičius
    erdvė_pozicija = 0
    Ciklų_skaitiklis = 1 Iki tarpų_skaitiklio
      erdvės_pozicija = InStr(kilpos_skaitiklis + tarpo_pozicija, į ką_žiūrėti, ko_ieškoti)
      Jei tarpo_pozicija = 0, tada išeikite už
    Kitas
Pabaigos funkcija

Šioje lentelėje parodyta, kaip dabar atrodo rezultatas:

Daktaras Williamas Healeris Daktaras Viljamas Gydytojas
Zakas H. Sneezeris III Zakas H. Čiaudulys III

Vardų analizė yra tiek menas, tiek techninis procesas. Šiame antrame pavyzdyje visi vardai ir pavardės yra teisinguose stulpeliuose. Jei būtų įvestas naujas ilgas pavadinimas su penkiais ar daugiau tarpų, rutina gali neteisingai analizuoti ir VBA kodą reikės atlikti daugiau sąlyginio testavimo. Tačiau šis pavyzdys dabar tinkamas kaip pramoninio stiprumo vardų analizavimo rutina.


Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti Microsoft Word atidaryti failų tik skaitymo režimu sistemoje Windows. Microsoft Word atidaro failus tik skaitymo režimu, todėl jų redaguoti neįmanoma? Nesijaudinkite, metodai pateikiami žemiau

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti klaidas spausdinant neteisingus Microsoft Word dokumentus.Klaidos spausdinant Word dokumentus su pakeistais šriftais, netvarkingomis pastraipomis, trūkstamo teksto ar prarasto turinio yra gana dažnos. Tačiau nereikia

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Jei naudodami rašiklį ar žymeklį piešėte ant savo PowerPoint skaidrės pristatymo metu, galite išsaugoti brėžinius kitam pristatymui arba ištrinti juos, kad kitą kartą rodydami pradėtumėte nuo švarių PowerPoint skaidrių. Vykdykite šias instrukcijas, kad ištrintumėte rašiklio ir žymeklio piešinius: Trinti linijas po vieną […]

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekoje yra CSS failų, XSL (Extensible Stylesheet Language) failų ir vaizdų, naudojamų iš anksto nustatytų puslapių puslapiuose, puslapių išdėstymuose ir valdikliuose „SharePoint 2010“. Norėdami rasti CSS failus publikavimo svetainės stilių bibliotekoje: pasirinkite Svetainės veiksmai → Peržiūrėti Visas svetainės turinys. Pasirodo svetainės turinys. Stiliaus biblioteka yra […]

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Neužkraukite savo auditorijos milžiniškais skaičiais. Programoje „Microsoft Excel“ galite pagerinti informacijos suvestinių ir ataskaitų skaitomumą formatuodami skaičius, kad jie būtų rodomi tūkstančiais arba milijonais.

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Sužinokite, kaip naudoti „SharePoints“ socialinių tinklų įrankius, leidžiančius asmenims ir grupėms bendrauti, bendradarbiauti, bendrinti ir prisijungti.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Julijaus datos dažnai naudojamos gamybos aplinkoje kaip laiko žyma ir greita partijos numerio nuoroda. Šio tipo datos kodavimas leidžia mažmenininkams, vartotojams ir paslaugų agentams nustatyti, kada produktas buvo pagamintas, taigi ir produkto amžių. Julijaus datos taip pat naudojamos programavimo, kariuomenės ir astronomijos srityse. Skirtingi […]

Kaip sukurti „Access“ žiniatinklio programą

Kaip sukurti „Access“ žiniatinklio programą

Galite sukurti žiniatinklio programą naudodami „Access 2016“. Taigi, kas vis dėlto yra žiniatinklio programa? Na, žiniatinklis reiškia, kad jis yra internete, o programa yra tik „programos“ santrumpa. Pasirinktinė žiniatinklio programa yra internetinė duomenų bazės programa, pasiekiama iš debesies naudojant naršyklę. Kuriate ir prižiūrite žiniatinklio programą darbalaukio versijoje […]

Greitosios paleidimo juosta „SharePoint 2010“.

Greitosios paleidimo juosta „SharePoint 2010“.

Daugumoje „SharePoint 2010“ puslapių sparčiojo paleidimo juostoje, esančioje kairėje puslapio pusėje, pateikiamas naršymo nuorodų sąrašas. Greitosios paleidimo juostoje rodomos nuorodos į siūlomą svetainės turinį, pvz., sąrašus, bibliotekas, svetaines ir publikavimo puslapius. Greitojo paleidimo juostoje yra dvi labai svarbios nuorodos: Visas svetainės turinys: […]

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais „Solver“ paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama problema, kurią […]