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.

Leave a Comment

Specialiųjų simbolių įterpimas į Word 2010

Specialiųjų simbolių įterpimas į Word 2010

Kartais gali prireikti įterpti neįprastą simbolį į Word 2010 dokumentą. Perskaitykite, kaip lengvai tai padaryti su mūsų patarimais ir simbolių sąrašu.

Kaip naudoti logines funkcijas „Excel 2010“ formulėse

Kaip naudoti logines funkcijas „Excel 2010“ formulėse

„Excel 2010“ naudoja septynias logines funkcijas – IR, FALSE, IF, IFERROR, NOT, OR ir TRUE. Sužinokite, kaip naudoti šias funkcijas efektyviai.

Kaip paslėpti ir rodyti eilutes ir stulpelius programoje „Excel 2016“.

Kaip paslėpti ir rodyti eilutes ir stulpelius programoje „Excel 2016“.

Sužinokite, kaip paslėpti ir atskleisti stulpelius bei eilutes programoje „Excel 2016“. Šis patarimas padės sutaupyti laiko ir organizuoti savo darbalapius.

Kaip apskaičiuoti slenkančius vidurkius programoje „Excel“.

Kaip apskaičiuoti slenkančius vidurkius programoje „Excel“.

Išsamus vadovas, kaip apskaičiuoti slankiuosius vidurkius „Excel“ programoje, skirtas duomenų analizei ir orų prognozėms.

Kaip nukopijuoti formules naudojant automatinį pildymą programoje „Excel 2016“.

Kaip nukopijuoti formules naudojant automatinį pildymą programoje „Excel 2016“.

Sužinokite, kaip efektyviai nukopijuoti formules Excel 2016 programoje naudojant automatinio pildymo funkciją, kad pagreitintumėte darbo eigą.

Kaip „Excel 2010“ langeliams taikyti užpildymo spalvas, raštus ir gradientus

Kaip „Excel 2010“ langeliams taikyti užpildymo spalvas, raštus ir gradientus

Galite pabrėžti pasirinktus langelius „Excel 2010“ darbalapyje pakeisdami užpildymo spalvą arba pritaikydami ląstelėms šabloną ar gradiento efektą.

Kaip paryškinti savaitgalio datas programoje „Excel“.

Kaip paryškinti savaitgalio datas programoje „Excel“.

Dirbdami su laiko kortelėmis ir planuodami programą „Excel“, dažnai pravartu lengvai nustatyti bet kokias datas, kurios patenka į savaitgalius. Šiame straipsnyje pateikiami žingsniai, kaip naudoti sąlyginį formatavimą.

Kaip sukurti diagramas „Office 365“.

Kaip sukurti diagramas „Office 365“.

Sužinokite, kaip sukurti diagramas „Word“, „Excel“ ir „PowerPoint“ programose „Office 365“. Daugiau informacijos rasite LuckyTemplates.com.

Kaip sukurti pasirinktinius „Excel“ suvestinės lentelės skaičiavimus

Kaip sukurti pasirinktinius „Excel“ suvestinės lentelės skaičiavimus

„Excel“ suvestinės lentelės leidžia kurti <strong>pasirinktinius skaičiavimus</strong>, įtraukiant daug pusiau standartinių skaičiavimų. Šiame straipsnyje pateiksiu detalius nurodymus, kaip efektyviai naudoti šią funkciją.

Kaip pakeisti rašybos tikrinimo ir gramatikos nustatymus programoje „Word 2016“.

Kaip pakeisti rašybos tikrinimo ir gramatikos nustatymus programoje „Word 2016“.

Nesvarbu, ar dievinate, ar nekenčiate Word gebėjimo išjuokti jūsų kalbos gebėjimus, jūs turite galutinį sprendimą. Yra daug nustatymų ir parinkčių, leidžiančių valdyti „Word“ rašybos ir gramatikos tikrinimo įrankius.