Копирование

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Fireball
Сообщения: 1
Зарегистрирован: 25 дек 2007, 14:59

Помогите! Есть список Ф.И.О в ячейки A1 так вот надо оставить фамилию в A1 а Имя и Отчество кинуть в B1. Таких строк примерно 3000=) Помогите!!
Pavel55
Сообщения: 418
Зарегистрирован: 20 окт 2006, 11:40
Откуда: Moscow

Точно не знаю, но попробуйте так

- Фамилию вынесем в ячейку В1

=ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1)-1)


- Имя и отчество вынесем в ячейку С1

=ПСТР(A1;НАЙТИ(" ";A1;1)+1;100)

и протяните их вниз

А макросом, наверное, так

Код: Выделить всё

Sub SeparateNames()
Dim iLastRow As Long
Dim FullName As String
Dim Space As Long, i As Long
    iLastRow = Range("A65536").End(xlUp).Row
    For i = 1 To iLastRow
        FullName = Trim(Cells(i, 1))
        Space = InStr(1, FullName, " ")
        Cells(i, 1) = Left(FullName, Space - 1)
        Cells(i, 2) = Mid(FullName, Space + 1)
    Next
    MsgBox "Done!"
End Sub
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Если совсем быстро, то так: выделяете исходный столбец. Пунт меню "данные->текст по стобцам->с разделителем->далее->разделитель пробел->далее->готово". Правда, в этом случае, по столбцам раскидает и имя с отчеством. Если это не нужно, то формулой от Павла оптимальный вариант.
Pavel55
Сообщения: 418
Зарегистрирован: 20 окт 2006, 11:40
Откуда: Moscow

) ну, если раскидает по разным столбцам, то имя и отчество можно собрать в одну такой формулой )

Допустим в ячейке B1 - имя, а в ячейке С1 - отчество, то вводим формулу в ячейку D1

=B1 & " " & C1
Author_R
Сообщения: 94
Зарегистрирован: 12 янв 2007, 22:09

Важное замечание: формулы корректно отработают, если ФИО разделены одиночным пробелом
С уважением, автор и ведущий рассылки Бесплатная рассылка: Excel - Готовые формулы
Author_R
Сообщения: 94
Зарегистрирован: 12 янв 2007, 22:09

На всякий случай (вдруг пригодиться):
http://content.mail.ru/arch/23168/1253358.html
С уважением, автор и ведущий рассылки Бесплатная рассылка: Excel - Готовые формулы
Pavel55
Сообщения: 418
Зарегистрирован: 20 окт 2006, 11:40
Откуда: Moscow

угу, но можно перед тем, как разбивать данные, выделить весь столбец A, нажать Ctrl+H, в поле Найти: ввести два пробела (" "), в поле Заменить на: ввести один пробел (" ") и нажать Заменить все

P.S. ну. или добавить =СЖПРОБЕЛЫ()
Ответить