Hjem Sosiale medier Parsing Navnene VBA Way-dummies

Parsing Navnene VBA Way-dummies

Video: UiPath Tutorials - XML Parsing 2024

Video: UiPath Tutorials - XML Parsing 2024
Anonim

Har du noen gang fått et Excel-regneark med navn, hvor de fulde navnene er alle i ett celle? Din oppgave er å bryte navnene til fornavn, etternavn - en prosess kjent som parsing. Du kan prøve å bruke en formel og / eller funksjon for å hjelpe, eller du kan bruke VBA-kode (Visual Basic for Applications).

En felles tilnærming er å finne mellomrom mellom fornavn og etternavn, og voila! - Du vet hvor fornavnet slutter og etternavnet starter.

Med mindre du har navn som er mer komplekse i struktur, for eksempel Dr. William Healer eller Zak H. Sneezer III.

Her er en typisk VBA-rutine som ser gjennom hvert navn, karakter for tegn, til det finner plass. Deretter plasserer det det som er til venstre for plassen i en kolonne og hva som er til høyre for plassen i kolonnen etter.

Gjør til ActiveCell = "thename = ActiveCell. Value For å se = 1 Til Len (thename) Hvis Mid (thename, looking, 1) =" "Så ActiveCell. Offset (0, 1) = Venstre 1) ActiveCell. Offset (0, 2) = Mid (thename, ser + 1) Avslutt for slutt Hvis neste ActiveCell. Offset (1, 0). Aktiver Loop

Denne rutinen er nyttig for å analysere navn med bare ett mellomrom, som Harvey Wallbanger eller Tom Collins. Følgende tabell viser resultatet av å kjøre koden på navn med mer enn ett mellomrom:

Dr. William Healer Dr. < William Healer Zak H. Sneezer III
Zak H. Sneezer III Dette er ikke et godt parsingforsøk. Det fungerte fint for å analysere Harvey Wallbanger og Tom Collins, men ikke så bra for de andre navnene.

Her er en mer utviklet teknikk som gir bedre resultater. Husk at parsing av navn ikke er perfekt, men å gjøre det på den måten gjør en bedre jobb.

Teknikken er å telle hvor mange mellomrom er i hele navnet og så koble fra navnet på ett av mellomrommene. Spesielt, hvis det er tre eller flere mellomrom, bruk plassen to i fra høyre som bryterommet; ellers bruker du den høyeste plassen som bryteplass.

Denne prosessen kjøres i en VBA-subrutine som kaller en funksjon mens du løper gjennom navnene. Antall mellomrom bestemmes tidlig i hovedløkken, og funksjonen returnerer posisjonen hvor bryteplassen er.

Sub parse_names () Dim thename Som String Dim Space Som Integer Gjør til ActiveCell = "thename = ActiveCell. Verdi mellomrom = 0 For test = 1 Til Len (thename) Hvis Mid (thename, test, 1) =" "Så mellomrom = mellomrom + 1 End Hvis neste Hvis mellomrom> = 3 Så break_space_position = space_position ("", thename, mellomrom - 1) Else break_space_position = space_position ("", thename, mellomrom) Slutt Hvis Hvis mellomrom> 0 Så ActiveCell.Offset (0, 1) = Venstre (thename, break_space_position - 1) ActiveCell. Offset (0, 2) = Mid (thename, break_space_position + 1) Ellers 'dette er for når hele navnet er bare et enkelt navn uten mellomrom ActiveCell. Offset (0, 1) = thename End hvis ActiveCell. Offset (1, 0). Aktiver Loop End Sub Funksjon space_position (what_to_look_for As String, what_to_look_in As String, what_to_look_in As String, space_count As Integer) Som integer Dim loop_counter Som integer space_position = 0 For loop_counter = 1 Til space_count space_position = InStr (loop_counter + space_position, what_to_look_in, what_to_look_for) Hvis space_position = 0 Deretter avslutter du for neste sluttfunksjon

Følgende tabell viser hvordan resultatet ser ut som nå:

Dr. William Healer

Dr. William Healer Zak H. Sneezer III
Zak H. Sneezer III Navn parsing er like mye kunst som teknisk prosess. I dette andre eksempelet er alle for- og etternavn i de riktige kolonnene. Hvis et nytt langt navn med fem eller flere mellomrom ble introdusert, kan rutinen få parsing feil, og VBA-koden ville trenge mer betinget testing satt inn i den. Men dette eksemplet er nå på rette spor som en industriell styrke navn-parsing rutine.
Parsing Navnene VBA Way-dummies

Redaktørens valg

Vanlige visuelle studio-tastaturgenveier - dummier

Vanlige visuelle studio-tastaturgenveier - dummier

Du kan få tilgang til mange av funksjonene du bruker i Visual Studio til Lag en Silverlight-applikasjon gjennom tastaturgenveier. Her er de vanlige snarveiene som hjelper deg med å utføre oppgaver raskt i Visual Studio. Tastatur snarvei Handling Ctrl + Alt + F1 Åpne Visual Studio Documentation Ctrl + Shift + B Bygg programmet Ctrl + F5 Kjør prosjektet Ctrl + Alt + X Åpne verktøykassen hvis ...

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Som Du komponerer markedsførings-e-postene dine, husk at formatet på e-posten din visuelt kommuniserer hovedideen til innholdet før publikum selv begynner å lese det. Forbrukerne forventer at formatet på e-posten din samsvarer med informasjonen den inneholder, slik at bruk av riktig format bidrar til å bygge publikums tillit. Velg ...

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Din e-postmarkedsføringslisten består sannsynligvis av prospekter og kunder i ulike stadier av kjøpesyklusen med litt forskjellige interesser, så en del av publikum vil aldri være klar til å reagere umiddelbart på hver handling. Selv om alle på din e-postliste er klare til handling, er dine anrop til handling ...

Redaktørens valg

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

En nyttig rapportvisning I et Excel-pivottabell er YTD-totalsvisningen. Noen ganger er det nyttig å fange et løp-total-visning for å analysere bevegelsen av tall på en årlig basis (YTD) basis. Denne figuren illustrerer et pivottabell som viser en løpende total omsetning per måned for hvert år. I denne visningen er du ...

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

I enkelte tilfeller vil du kanskje opprett et pivottabell fra grunnen ved hjelp av Excels eksisterende interne datamodell som kildedata. Her er trinnene for å gjøre det: Velg Sett inn → PivotTable fra båndet. Dialogboksen Create PivotTable åpnes. Velg alternativet Bruk en ekstern datakilde, som vist, og klikk deretter på ...

Hvordan lage en standard snikker i Power Pivot - dummies

Hvordan lage en standard snikker i Power Pivot - dummies

Slicers tilbyr et brukervennlig grensesnitt med som du kan filtrere en Power Pivot pivottabell. Det er på tide å lage din første slicer. Bare følg disse trinnene:

Redaktørens valg

Alarmhendelsen i GameMaker: Studio-dummies

Alarmhendelsen i GameMaker: Studio-dummies

Alarmer er utmerket for når du vil ha tid Handlinger i din spill i GameMaker: Studio. For eksempel, hvis du vil at spilleren bare skal skyte kuler en gang hvert annet sekund, kan du sette en alarm for det. Hvis du vil når nye fiendtlige fly vises, kan du sette en alarm for det ...

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

I GameMaker: Studio, Flytt-fanen er den første kategorien i vinduet Objektegenskaper. Her er en liste over hver av handlingene du kan tilordne objektene. I følgende definisjoner brukes begrepet Instance for å referere til hva handlingen påvirker. Men du konfigurerer handlingen i objektet ...

Andre hendelser i GameMaker: Studio - dummies

Andre hendelser i GameMaker: Studio - dummies

I GameMaker: Studio, Andre hendelser er de som ikke anses verdige av sitt eget sted på menyen Event. Disse andre hendelsene kan være ganske kjempebra. Menyelementene er ganske mye selvforklarende, så det er ikke nødvendig med detaljer her. For fullstendige beskrivelser av hver av disse elementene, kan du alltid trykke F1 i GameMaker og ...