Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2010, 17:21   #1
brans
Форумчанин
 
Регистрация: 15.10.2010
Сообщений: 105
По умолчанию строки.VBA

пожалуйста, помогите придумать код, я уже обращалась с этим заданием, но никто не ответил(((
очень прошу, откликнетесь хоть кто-нибудь....
например, одной ячейке записанно : Иванов Иван Иванович, как сделать так(через мордуль VBA), что бы в другой записалось Иванов И.И.???
brans вне форума Ответить с цитированием
Старый 19.10.2010, 17:27   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Делите строку с помощью Split, и от второго и третьего слова берете только один первый знак, а остальное заменяете на точку (функция Mid, конкатенация - & )
motorway вне форума Ответить с цитированием
Старый 19.10.2010, 17:33   #3
brans
Форумчанин
 
Регистрация: 15.10.2010
Сообщений: 105
По умолчанию

[QUOTE=motorway;637428]Делите строку с помощью Split....

вот проблема состоит в том, что я не знаю ф-ции Split((( - не подскажете,motorway? а как использовать mid я знаю!!!
brans вне форума Ответить с цитированием
Старый 19.10.2010, 17:46   #4
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Могу только формулой:
=ЛЕВСИМВ(A1; ПОИСК(" ";A1)+1)&"."&ПСТР(A1;ПОИСК("/";ПОДСТАВИТЬ(A1;" ";"/";2));2)&"."
vikttur вне форума Ответить с цитированием
Старый 19.10.2010, 17:50   #5
brans
Форумчанин
 
Регистрация: 15.10.2010
Сообщений: 105
По умолчанию

Цитата:
Сообщение от vikttur Посмотреть сообщение
Могу только формулой:
=ЛЕВСИМВ(A1; ПОИСК(" ";A1)+1)&"."&ПСТР(A1;ПОИСК("/";ПОДСТАВИТЬ(A1;" ";"/";2));2)&"."
спасибо большое)))), но мне это в модуле никак же не записать?
brans вне форума Ответить с цитированием
Старый 19.10.2010, 17:58   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Для Split по пробелам ничего и не надо:

Код:
Sub tt()
Dim x
x = Split("Иванов Иван Иванович")
MsgBox x(0) & x(1) & x(2)
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.10.2010, 18:02   #7
brans
Форумчанин
 
Регистрация: 15.10.2010
Сообщений: 105
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Для Split по пробелам ничего и не надо:

Код:
Sub tt()
Dim x
x = Split("Иванов Иван Иванович")
MsgBox x(0) & x(1) & x(2)
End Sub
Эта программа мне выдала такую надпись:
ИвановИванИванович......
brans вне форума Ответить с цитированием
Старый 19.10.2010, 18:03   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Так задумано
Теперь подумайте, почему так выдала - поймёте, что откуда брать, чтоб резать.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.10.2010, 18:06   #9
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Самостоятельно нужно думать, учиться, пробовать читать документацию и т.п. - в Интернете есть.
Вот так надо:
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x
x = Split("Жигунов Сергей Викторович")
Cells(1, 1).Value = x(0) & " " & Mid(x(1), 1, 1) & "." & Mid(x(2), 1, 1) & "."
End Sub
motorway вне форума Ответить с цитированием
Старый 19.10.2010, 18:14   #10
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Цитата:
Сообщение от brans Посмотреть сообщение
спасибо большое)))), но мне это в модуле никак же не записать?
Можно и таким способом, в VBA можно присваивать формулы ячейкам
motorway вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Vba определить количество вхождения строки S1 в строку S2 Berckyt Помощь студентам 4 17.08.2011 20:24
Excel Vba Перенос строки HelperAwM Microsoft Office Excel 4 21.06.2010 16:22
Строки на языке VBA KatruKot Microsoft Office Word 8 21.05.2010 03:33
Как в VBA скрыть неиспользуемые строки при условии berliozz Microsoft Office Excel 16 24.11.2008 08:47
Запуск команд командной строки из VBA snake-as Microsoft Office Excel 14 21.10.2008 16:45