Huis Sociale Media Parsing geeft de naam van de VBA-weg - dummies

Parsing geeft de naam van de VBA-weg - dummies

Video: Creating a Word Template for use with Invantive Composition 2024

Video: Creating a Word Template for use with Invantive Composition 2024
Anonim

Heeft u ooit een Excel-werkblad met namen gekregen, waarin de volledige namen allemaal in één staan cel? Uw taak is om de namen te splitsen in voornaam, achternaam - een proces dat bekend staat als parsing. U kunt proberen een formule en / of functie te gebruiken, of u kunt Visual Basic for Applications (VBA) -code gebruiken.

Een veel voorkomende aanpak is om de spatie te vinden tussen de voor- en achternaam en voila! - je weet waar de voornaam eindigt en de achternaam begint.

Tenzij u namen hebt die complexer van structuur zijn, zoals Dr. William Healer of Zak H. Sneezer III.

Hier is een typische VBA-routine die elke naam, karakter voor teken, doorzoekt totdat een spatie wordt gevonden. Daarna plaatst het alles wat links van de ruimte staat in één kolom en wat er rechts van de ruimte in de kolom erna staat.

Doen tot ActiveCell = "thename = ActiveCell. Waarde For look = 1 To Len (thename) If Mid (thename, looking, 1) =" "Then ActiveCell. Offset (0, 1) = Left (thename, looking - 1) ActiveCell. Offset (0, 2) = Mid (thename, looking + 1) Exit For End If Next ActiveCell. Offset (1, 0) Loop activeren

Deze routine is handig bij het parseren van namen met slechts één spatie, zoals Harvey Wallbanger of Tom Collins.De volgende tabel toont het resultaat van het uitvoeren van de code op namen met meer dan één spatie:

Dr. William Healer Dr. < William Healer Zak H. Sneezer III
Zak H. Sneezer III Dit is geen goede poging om te parseren.Het werkte prima voor het ontleden van Harvey Wallbanger en Tom Collins, maar niet zo goed voor de andere namen.

Hier is een meer ontwikkelde techniek die betere resultaten oplevert. Houd in gedachten dat het ontleden van namen niet perfect is, maar als je er op deze manier mee werkt, doet het beter werk.

De techniek is om te tellen hoeveel spaties de volledige naam hebben en verbreek dan de naam op een van de spaties. In het bijzonder, als er drie of meer spaties zijn, gebruik dan de spatie twee van rechts als de breekruimte; gebruik anders de meest rechtse ruimte als de breekruimte.

Dit proces wordt uitgevoerd in een VBA-subroutine die een functie oproept terwijl de namen doorlopen worden. Het aantal spaties wordt vroeg in de hoofdlus bepaald en de functie geeft de positie terug waar de breekruimte is.

Sub parse_names () Dim thename As String Dim spaces Als integer Do Tot ActiveCell = "thename = ActiveCell. Value spaces = 0 For test = 1 To Len (thename) If Mid (thename, test, 1) =" "Then spaces = spaces + 1 End If Next If spaces> = 3 Then break_space_position = space_position ("", thename, spaces - 1) Else break_space_position = space_position ("", thename, spaces) End If Als spaties> 0 Vervolgens ActiveCell.Offset (0, 1) = Links (thename, break_space_position - 1) ActiveCell. Offset (0, 2) = Mid (thename, break_space_position + 1) Anders 'dit is voor wanneer de volledige naam slechts één naam is zonder spaties ActiveCell. Offset (0, 1) = thename End If ActiveCell. Offset (1, 0). Activeer Loop End Sub Function space_position (what_to_look_for As String, what_to_look_in As String, space_count As Integer) As Geheel getal Dim loop_counter As Geheel getal space_position = 0 Voor loop_counter = 1 Naar space_count space_position = InStr (loop_counter + space_position, what_to_look_in, what_to_look_for) Als space_position = 0 Vervolgens Afsluiten voor volgende eindfunctie

De volgende tabel laat zien hoe het resultaat er nu uitziet:

Dr. William Healer

Dr. William Genezer Zak H. Sneezer III
Zak H. Sneezer III Naam-parsing is evenveel kunst als technisch proces. In dit tweede voorbeeld bevinden alle voor- en achternamen zich in de juiste kolommen. Als een nieuwe lange naam met vijf of meer spaties werd geïntroduceerd, zou de routine de ontleding verkeerd kunnen krijgen en zou de VBA-code meer voorwaardelijke testen nodig hebben. Maar dit voorbeeld is nu op de goede weg als een naam-parseer-routine met een industriële kracht.
Parsing geeft de naam van de VBA-weg - dummies

Bewerkers keuze

Geometrie-opties voor rechthoekige vormen selecteren in Photoshop CS6 - dummy's

Geometrie-opties voor rechthoekige vormen selecteren in Photoshop CS6 - dummy's

In Photoshop CS6, u kunt verschillende geometrie-opties voor Rechthoekige vormen selecteren met behulp van het tandwielpictogram op de werkbalk Opties. Hier zijn de geometrie-opties voor de rechthoek en afgeronde rechthoekige vormen. Onbeperkt: wanneer u deze optie selecteert (de standaardinstelling), bepaalt Photoshop de grootte en verhoudingen van de rechthoek terwijl u sleept. Vierkant: selecteer deze knop om ...

Hoe u Tools in Photoshop CS6 selecteert - dummies

Hoe u Tools in Photoshop CS6 selecteert - dummies

Om een ​​hulpmiddel in Photoshop CS6 te selecteren, klikt u er gewoon in het deelvenster Gereedschappen. Een kleine zwarte driehoek in de rechterbenedenhoek van een gereedschapslots geeft aan dat er meer hulpprogramma's zijn verborgen achter dat gereedschap in een vervolgmenu. Klik en houd de gewenste tool ingedrukt om toegang te krijgen tot het vervolgmenu. U hebt ook toegang tot ...

Hoe rechte lijnen te selecteren met de veelhoekige lasso in Photoshop CS6 - dummies

Hoe rechte lijnen te selecteren met de veelhoekige lasso in Photoshop CS6 - dummies

Terwijl de gewone Lasso-tool in Photoshop CS6 geweldig is voor het selecteren van golvende, ronde elementen, de veelhoekige lasso-tool schittert als het gaat om de meer gereglementeerde, rechtzijdige onderwerpen, zoals skylines van de stad, gebouwen en trappen. In tegenstelling tot het gewone gereedschap Lasso, heeft het gereedschap Polygonale lasso rubberen bandachtige eigenschappen, en in plaats van te slepen, klikt u op ...

Bewerkers keuze

Digitale fotografie en ISO - dummies

Digitale fotografie en ISO - dummies

ISO (internationale organisatie voor standaardisatie) is een instelling op uw digitale camera die de gevoeligheid regelt van je camerasensor. Als je fotografeert op een zonnige dag, heb je veel licht. Daarom kunt u de combinatie van een relatief korte sluitertijd met een relatief klein diafragma gebruiken om de afbeelding goed te belichten. ...

Digitale fototermen - dummies

Digitale fototermen - dummies

Ga op je gemak met je digitale camera door enkele digitale fotografie-lingo's en tips te leren die je kunnen helpen met verlichting , portretten en scherptediepte, zodat u uit bent en fantastische digitale foto's maakt. ISO: de gevoeligheid van de camera voor licht. Door de ISO-waarde te verhogen, kunt u foto's maken bij weinig licht zonder gebruik te maken van ...

Digitale fotobeheertaken - dummies

Digitale fotobeheertaken - dummies

Maak u bekend met de volgende taken voor digitale fotobeheer of investeer in een bepaald stuk software om doe ze voor jou. Bedenk hoe deze taken in uw workflow voor digitale fotografie passen: markeren biedt u de mogelijkheid enkele foto's te markeren als bewaarder, sommige als afgekeurd en de rest alleen te laten. Eerst markeren, omdat het sneller gaat ...

Bewerkers keuze

Kantoor 2011 voor Mac: gegevens valideren op Excel-formulieren - dummies

Kantoor 2011 voor Mac: gegevens valideren op Excel-formulieren - dummies

Het is altijd goed wanneer u kunt mensen helpen een formulier in te vullen dat u in Excel 2011 voor Mac hebt gemaakt. Eén manier is om het moeilijker te maken voor hen om fouten te maken bij het invullen van het formulier. Door gegevensvalidatie bijvoorbeeld in Excel 2011 voor Mac te gebruiken, kunt u ervoor zorgen dat ...

Kantoor 2011 voor Mac: Datums en tijden in Excel opmaken - dummies

Kantoor 2011 voor Mac: Datums en tijden in Excel opmaken - dummies

Excel 2011 voor Mac heeft fantastische mogelijkheden voor datum- en tijdberekening. Wanneer u Excel-werkbladen gebruikt, moet u slechts twee geheimen kennen: elke dag wordt weergegeven door een geheel getal, een serienummer genoemd, en delen van dagen worden vertegenwoordigd door decimale breuken. Vandaag vinden met Excel-formules Op sommige dagen word je wakker en niet ...

Tips en trucs voor Excel 2008 voor Mac - dummies

Tips en trucs voor Excel 2008 voor Mac - dummies

Hoe blijf je de baas over spreadsheets in Excel 2008 voor Mac? Gebruik deze snelle stappen voor uw meest voorkomende activiteiten. Een werkblad hernoemen Dubbelklik op een bladentabblad om de naam te wijzigen. Cellen bewerken Dubbelklik op een cel om de celformule of celinhoud op het werkblad te bewerken. File timesaver Sla uw bestanden op als Excel ...