Изменение имен на место (Microsoft Excel)
Джорджу часто приходится работать с данными, предоставленными другими людьми. При работе с этими данными ему может потребоваться преобразовать имя, скажем, Joe Bloggs, так, чтобы фамилия была первой, как в Bloggs, Joe. Джордж понимает, что он может использовать формулу для изменения имени, но ему нужно сделать это в той же ячейке, в которой находится имя. Ему интересно, есть ли встроенная команда, которая выполнит эту задачу.
Нет, встроенной команды для этого нет. Однако вы можете создать макрос, который будет выполнять переключение за вас. Затем этот макрос можно назначить сочетанию клавиш или разместить на панели инструментов, чтобы к нему можно было легко получить доступ. Вот простой макрос, который выполняет переключение:
Sub ReverseNames() Dim x As Integer Dim sCell As String Dim sLast As String Dim sFirst As String Dim rCell As Range For Each rCell In Selection sCell = rCell.Value x = InStr(sCell, " ") If x > 0 Then sFirst = Left(sCell, x - 1) sLast = Mid(sCell, x + 1) rCell.Value = sLast & ", " & sFirst End If Next Set rCell = Nothing End Sub
Чтобы использовать макрос, просто выберите диапазон ячеек, на который вы хотите повлиять, и запустите его. Макрос ищет пробел в ячейке и считает все перед пробелом первым именем, а все после пробела — фамилией. Эти два элемента меняются местами, между ними ставится запятая и вставляется обратно в ячейку.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3812) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздние версии) здесь:
link: / excelribbon-Reversing_Names_In_Place [Изменение имен на месте]
.