Джорджу часто приходится работать с данными, предоставленными другими людьми. При работе с этими данными ему может потребоваться преобразовать имя, скажем, 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 [Изменение имен на месте].