Разборът наименува VBA начина

Получавали ли сте някога работен лист на Excel с имена, в който пълните имена са всички в една клетка? Вашата задача е да разбиете имената на собствено и фамилно име - процес, известен като синтактичен анализ. Можете да опитате да използвате формула и/или функция, за да помогнете, или можете да използвате кода на Visual Basic за приложения (VBA).

Често срещан подход е да се намери интервал между собственото и фамилното име и воала! – знаете къде свършва първото и фамилното име.

Освен ако нямате имена, които са по-сложни по структура, като д-р Уилям Лечител или Зак Х. Снейзър III.

Ето една типична VBA рутина, която преглежда всяко име, знак по знак, докато не намери интервал. След това поставя всичко, което е вляво от пространството в една колона и каквото е вдясно от пространството в колоната след него.

Правете до ActiveCell = "
името = ActiveCell.Value
За търсене = 1 до Лен(името)
 Ако Mid(thename, search, 1) = " " Тогава
    ActiveCell.Offset(0, 1) = Отляво(името, гледам - ​​1)
    ActiveCell.Offset(0, 2) = Mid(името, изглежда + 1)
    Изход за
 Край, ако
Следващия
ActiveCell.Offset(1, 0).Активиране
Примка

Тази рутина е полезна при анализиране на имена само с едно интервал, като Харви Уолбангър или Том Колинс. Следната таблица показва резултата от изпълнение на кода върху имена с повече от един интервал:

д-р Уилям Лечител д-р Уилям Лечител
Зак Х. Кихане III Зак Х. Кихане III

Това не е добър опит за синтактичен анализ. Получи се добре за анализирането на Харви Уолбангър и Том Колинс, но не толкова добре за другите имена.

Ето една по-развита техника, която дава по-добри резултати. Имайте предвид, че синтактичният анализ на имената не е перфектен, но това върши по-добра работа.

Техниката е да се преброи колко интервала има в пълното име и след това да се раздели името на едно от интервалите. По-специално, ако има три или повече интервала, използвайте интервала два вдясно като прекъсващо пространство; в противен случай използвайте най-дясното пространство като прекъсващо пространство.

Този процес се изпълнява в подпрограма на VBA, която извиква функция, докато преглежда имената. Броят на интервалите се определя рано в главния цикъл и функцията връща позицията, където е прекъсващото пространство.

Sub parse_name()
  Затъмнете името като низ
  Затъмнени интервали като цяло число
  Правете до ActiveCell = "
    името = ActiveCell.Value
    интервали = 0
    За тест = 1 до Len(името)
      Ако Mid(името, тест, 1) = " " Тогава
      интервали = интервали + 1
    Край, ако
  Следващия
  Ако интервалите >= 3 Тогава
    break_space_position = space_position(" ", името, интервали - 1)
  иначе
    break_space_position = space_position(" ", името, интервали)
  Край, ако
  Ако интервалите > 0 Тогава
    ActiveCell.Offset(0, 1) = Ляво(името, позиция_разкъсване - 1)
    ActiveCell.Offset(0, 2) = Mid(името, break_space_position + 1)
  иначе
    ' това е за случаите, когато пълното име е само едно име без интервали
    ActiveCell.Offset(0, 1) = името
  Край, ако
  ActiveCell.Offset(1, 0).Активиране
  Примка
Край под
Функция space_position(what_to_look_for като низ, what_to_look_in като низ, space_count като цяло число) Като цяло число
  Dim loop_counter Като цяло число
    space_position = 0
    For loop_counter = 1 To space_count
      space_position = InStr(loop_counter + space_position, what_to_look_in, what_to_search)
      Ако space_position = 0, тогава Exit For
    Следващия
Крайна функция

Следната таблица показва как изглежда резултатът сега:

д-р Уилям Лечител д-р Уилям лечител
Зак Х. Кихане III Зак Х. Кихане III

Разборът на имена е също толкова изкуство, колкото и технически процес. В този втори пример всички собствени и фамилни имена са в правилните колони. Ако бъде въведено ново дълго име с пет или повече интервала, рутината може да обърка синтактичния анализ и VBA кодът ще се нуждае от повече условно тестване, поставено в него. Но този пример сега е на прав път като рутина за анализ на имена с индустриална сила.


Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирам Microsoft Word да отваря файлове в режим само за четене в Windows Microsoft Word отваря файлове в режим само за четене, което прави невъзможно редактирането им? Не се притеснявайте, методите са по-долу

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате грешки при отпечатването на неправилни документи на Microsoft Word Грешките при отпечатването на документи на Word с променени шрифтове, разхвърляни абзаци, липсващ текст или изгубено съдържание са доста чести. Въпреки това недейте

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Ако сте използвали писалката или маркера, за да рисувате върху слайдовете на PowerPoint по време на презентация, можете да запазите чертежите за следващата презентация или да ги изтриете, така че следващия път, когато го покажете, да започнете с чисти слайдове на PowerPoint. Следвайте тези инструкции, за да изтриете чертежи с писалка и маркери: Изтриване на линии една в […]

Съдържание на библиотеката за стилове в SharePoint 2010

Съдържание на библиотеката за стилове в SharePoint 2010

Библиотеката със стилове съдържа CSS файлове, файлове с разширяем език на стиловия език (XSL) и изображения, използвани от предварително дефинирани главни страници, оформления на страници и контроли в SharePoint 2010. За да намерите CSS файлове в библиотеката със стилове на сайт за публикуване: Изберете Действия на сайта→Преглед Цялото съдържание на сайта. Появява се съдържанието на сайта. Библиотеката Style се намира в […]

Форматирайте числата в хиляди и милиони в отчети на Excel

Форматирайте числата в хиляди и милиони в отчети на Excel

Не затрупвайте аудиторията си с огромни числа. В Microsoft Excel можете да подобрите четливостта на вашите табла за управление и отчети, като форматирате числата си така, че да се показват в хиляди или милиони.

Как да споделяте и следвате сайтове на SharePoint

Как да споделяте и следвате сайтове на SharePoint

Научете как да използвате инструменти за социални мрежи на SharePoint, които позволяват на индивиди и групи да общуват, да си сътрудничат, споделят и да се свързват.

Как да конвертирате дати в юлиански формати в Excel

Как да конвертирате дати в юлиански формати в Excel

Юлианските дати често се използват в производствени среди като времеви печат и бърза справка за партиден номер. Този тип кодиране на дата позволява на търговците на дребно, потребителите и обслужващите агенти да идентифицират кога е произведен продуктът и по този начин възрастта на продукта. Юлианските дати се използват и в програмирането, военните и астрономията. Различно […]

Как да създадете уеб приложение на Access

Как да създадете уеб приложение на Access

Можете да създадете уеб приложение в Access 2016. И така, какво всъщност е уеб приложение? Е, уеб означава, че е онлайн, а приложението е просто съкращение от „приложение“. Персонализирано уеб приложение е онлайн приложение за база данни, достъпно от облака с помощта на браузър. Вие създавате и поддържате уеб приложението в настолната версия […]

Лента за бързо стартиране в SharePoint 2010

Лента за бързо стартиране в SharePoint 2010

Повечето страници в SharePoint 2010 показват списък с връзки за навигация в лентата за бързо стартиране в лявата част на страницата. Лентата за бързо стартиране показва връзки към представено съдържание на сайта, като списъци, библиотеки, сайтове и страници за публикуване. Лентата за бързо стартиране включва две много важни връзки: Връзка към цялото съдържание на сайта: […]

Какво означават съобщенията за грешка на Solver в Excel?

Какво означават съобщенията за грешка на Solver в Excel?

За прости проблеми Solver в Excel обикновено бързо намира оптималните стойности на променливата Solver за целевата функция. Но в някои случаи Solver има проблеми с намирането на стойностите на променливата Solver, които оптимизират целевата функция. В тези случаи Solver обикновено показва съобщение или съобщение за грешка, което описва или обсъжда проблема, който […]