Lanàlisi de noms de la manera VBA

Alguna vegada t'han donat un full de treball d'Excel amb noms, en el qual els noms complets estan tots en una cel·la? La vostra tasca és dividir els noms en nom i cognom, un procés conegut com a anàlisi. Podeu provar d'utilitzar una fórmula i/o funció per ajudar-vos, o podeu utilitzar el codi de Visual Basic per a aplicacions (VBA).

Un enfocament habitual és trobar l'espai entre el nom i el cognom, i voilà! – saps on acaba el nom i on comença el cognom.

A menys que tingueu noms d'estructura més complexa, com ara el Dr. William Healer o Zak H. Sneezer III.

Aquí hi ha una rutina típica de VBA que examina cada nom, caràcter per caràcter, fins que troba un espai. A continuació, col·loca el que està a l'esquerra de l'espai en una columna i el que està a la dreta de l'espai a la columna posterior.

Fes fins a ActiveCell = "
thename = ActiveCell.Value
Per buscar = 1 a Len (el nom)
 Si Mid(el nom, buscant, 1) = " " Aleshores
    ActiveCell.Offset (0, 1) = Esquerra (el nom, buscant - 1)
    ActiveCell.Offset (0, 2) = Mitjana (el nom, buscant + 1)
    Sortida per
 Acaba si
Pròxim
ActiveCell.Offset(1, 0).Activar
Bucle

Aquesta rutina és útil per analitzar noms amb un sol espai, com ara Harvey Wallbanger o Tom Collins. La taula següent mostra el resultat d'executar el codi en noms amb més d'un espai:

Dr. William Healer Dr. Guillem Sanador
Zak H. Esternut III Zak H. Esternut III

Aquest no és un bon intent d'anàlisi. Va funcionar bé per analitzar Harvey Wallbanger i Tom Collins, però no tan bé per als altres noms.

Aquí hi ha una tècnica més desenvolupada que retorna millors resultats. Tingueu en compte que analitzar noms no és perfecte, però fer-ho d'aquesta manera fa un millor treball.

La tècnica consisteix a comptar quants espais hi ha al nom complet i després dividir el nom en un dels espais. En particular, si hi ha tres o més espais, utilitzeu l'espai a dos de la dreta com a espai de trencament; en cas contrari, utilitzeu l'espai més a la dreta com a espai de ruptura.

Aquest procés s'executa en una subrutina VBA que crida a una funció mentre fa un bucle pels noms. El nombre d'espais es determina al principi del bucle principal i la funció retorna la posició on es troba l'espai de ruptura.

Subparse_names()
  Atenua el nom com a cadena
  Atenuar els espais com a nombre enter
  Fes fins a ActiveCell = "
    thename = ActiveCell.Value
    espais = 0
    Per a la prova = 1 a Len (el nom)
      Si Mid(el nom, prova, 1) = " " Aleshores
      espais = espais + 1
    Acaba si
  Pròxim
  Si espais >= 3 Aleshores
    break_space_position = posició_espai ("", el nom, espais - 1)
  Altrament
    break_space_position = posició_espai ("", el nom, espais)
  Acaba si
  Si espais > 0 Aleshores
    ActiveCell.Offset (0, 1) = Esquerra (el nom, break_space_position - 1)
    ActiveCell.Offset (0, 2) = Mitjana (el nom, break_space_position + 1)
  Altrament
    ' això és per quan el nom complet és només un nom únic sense espais
    ActiveCell.Offset(0, 1) = el nom
  Acaba si
  ActiveCell.Offset(1, 0).Activar
  Bucle
End Sub
Funció space_position(what_to_look_for Com a cadena, what_to_look_in Com a cadena, space_count Com a enter) Com a sencer
  Dim loop_counter com a nombre enter
    posició_espai = 0
    Per a loop_counter = 1 a space_count
      posició_espai = InStr(comptador_de_bucles + posició_espai, què_buscar, què_buscar)
      Si space_position = 0 Aleshores Surt For
    Pròxim
Funció final

La taula següent mostra com es veu el resultat ara:

Dr. William Healer Dr Guillem Sanador
Zak H. Esternut III Zak H. Esternut III

L'anàlisi de noms és tant art com procés tècnic. En aquest segon exemple, tots els noms i cognoms es troben a les columnes correctes. Si s'introduïa un nom llarg nou amb cinc o més espais, la rutina podria equivocar-se en l'anàlisi i el codi VBA necessitaria més proves condicionals. Però aquest exemple està ara pel bon camí com a rutina d'anàlisi de noms de força industrial.

Deixa un comentari

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word d'obrir fitxers en mode de només lectura a Windows Microsoft Word obre fitxers en mode de només lectura, cosa que fa que sigui impossible editar-los? No us preocupeu, els mètodes es mostren a continuació

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com corregir errors en imprimir documents incorrectes de Microsoft Word Els errors en imprimir documents de Word amb tipus de lletra canviats, paràgrafs desordenats, falta de text o contingut perdut són força habituals. No obstant això, no

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Si heu utilitzat el llapis o el marcador per dibuixar a les vostres diapositives de PowerPoint durant una presentació, podeu desar els dibuixos per a la següent presentació o esborrar-los de manera que la propera vegada que el mostreu, començareu amb diapositives de PowerPoint netes. Seguiu aquestes instruccions per esborrar dibuixos a llapis i ressaltadors: Esborrant línies una a […]

Contingut de la biblioteca destils a SharePoint 2010

Contingut de la biblioteca destils a SharePoint 2010

La biblioteca d'estils conté fitxers CSS, fitxers de llenguatge de full d'estil extensible (XSL) i imatges utilitzades per pàgines mestres predefinides, dissenys de pàgina i controls a SharePoint 2010. Per localitzar fitxers CSS a la biblioteca d'estils d'un lloc de publicació: Trieu Accions del lloc→Visualitza Tot el contingut del lloc. Apareix el contingut del lloc. La biblioteca d'estil es troba a […]

Formateu els números en milers i milions als informes dExcel

Formateu els números en milers i milions als informes dExcel

No desbordeu el vostre públic amb números gigantesques. A Microsoft Excel, podeu millorar la llegibilitat dels vostres taulers i informes formatant els vostres números perquè apareguin en milers o milions.

Com compartir i seguir els llocs de SharePoint

Com compartir i seguir els llocs de SharePoint

Apreneu a utilitzar les eines de xarxes socials de SharePoints que permeten a persones i grups comunicar-se, col·laborar, compartir i connectar-se.

Com convertir les dates a formats Julian a Excel

Com convertir les dates a formats Julian a Excel

Les dates julianes s'utilitzen sovint en entorns de fabricació com a marca de temps i referència ràpida per a un número de lot. Aquest tipus de codificació de dates permet als minoristes, consumidors i agents de serveis identificar quan es va fabricar un producte i, per tant, l'antiguitat del producte. Les dates julianes també s'utilitzen en programació, militars i astronomia. Diferents […]

Com crear una aplicació web daccés

Com crear una aplicació web daccés

Podeu crear una aplicació web a Access 2016. Què és, de totes maneres, una aplicació web? Bé, web vol dir que està en línia i l'aplicació és només una abreviatura de "aplicació". Una aplicació web personalitzada és una aplicació de base de dades en línia a la qual s'accedeix des del núvol mitjançant un navegador. Creeu i manteniu l'aplicació web a la versió d'escriptori […]

Barra dinici ràpid a SharePoint 2010

Barra dinici ràpid a SharePoint 2010

La majoria de les pàgines del SharePoint 2010 mostren una llista d'enllaços de navegació a la barra d'inici ràpid al costat esquerre de la pàgina. La barra d'inici ràpid mostra enllaços al contingut del lloc destacat, com ara llistes, biblioteques, llocs i pàgines de publicació. La barra d'inici ràpid inclou dos enllaços molt importants: Enllaç de tot el contingut del lloc: el […]

Què signifiquen els missatges derror del solucionador a Excel?

Què signifiquen els missatges derror del solucionador a Excel?

Per a problemes senzills, Solver a Excel sol trobar ràpidament els valors òptims de la variable Solver per a la funció objectiu. Però, en alguns casos, Solver té problemes per trobar els valors de la variable Solver que optimitzen la funció objectiu. En aquests casos, Solver normalment mostra un missatge o un missatge d'error que descriu o discuteix el problema que […]