![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.10.2010
Сообщений: 105
|
![]()
помогите пожалуйста, не могу довести до ума программу:
В ячеёке написанно: самойленко Елена сергеевна, нужно написать модуль на vba, такой, чтобы фамилия и отчество делались прописными буквами..... вот мои наработки.... Private Sub cem() Dim x x = Split(Cells(43, 1)) p = Mid(x(0), 1, 1) Z = Mid(x(2), 1, 1) x = StrConv(p, vbUpperCase) y = StrConv(Z, vbUpperCase) End Sub как теперь дальше не подскажете? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]()
Один из вариантов:
Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
![]()
Ужасы нашего городка ...
Ну неужели тяжело зайти в HELP по StrConv и увидеть вариант Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 15.10.2010
Сообщений: 105
|
![]()
nilem, если Вам не сложно, то поясните, пожалуйста на словах суть рассуждения этой задачи. очень зочу понять ход мыслей...
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]()
С помощью Split получаем из строки 1-мерный массив из элементов-слов (пробел - это разделитель по умолчанию). Циклом проходим по всем элементам массива и заменяем (Replace) в каждом элементе x(i) 1-й левый символ Left(x(i), 1) на такой же символ, но в верхнем регисте UCase(Left(x(i), 1)).
А потом объединяем измененные элементы массива х в одну строку через пробел Join(x, " "). Но конечно же лучше взять стандартную функцию StrConv. 1-й аргумент этой ф-ции - строка, которую собираемся преобразовывать (строка у нас находится в Cells(43, 1)). Через запятую - 2-й аргумент, который определяет тип преобразования (у нас это vbProperCase - переводит первую букву каждого слова в строке в верхний регистр). Вместо константы vbProperCase можно записать ее значение: 3. Вот и получается Cells(43, 1) = StrConv(Cells(43, 1), 3) Действительно, все в справке написано. Но мой вариант интереснее, правда? ![]() Последний раз редактировалось nilem; 21.10.2010 в 05:51. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
![]()
Обращаю внимание заинтересованной публики, что в паспортах сейчас встречаются и записи вида:
Иванов Иван Иван оглы или Петрова Ольга Махмуд кызы Так вот, по правилам, оглы и кызы в конце ФИО пишутся со строчной буквы. ![]() Последний раз редактировалось Aent; 21.10.2010 в 11:18. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.10.2010
Сообщений: 105
|
![]()
Благодарю за столь неординарный подход к моему вопросу, я и вправду вижу Ваш вариант кода интересней. Спасибо большое за столь полное изъяснение хoда Ваших мыслей!!!!!
![]() Последний раз редактировалось brans; 21.10.2010 в 13:12. Причина: ошибка по невнимательности |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
И в общем для "оглы" и "кызы" как раз интересный вариант и подходит - надо только добавить проверку содержимого элементов массива.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Опять паскаль и снова строки | A.S.W | Помощь студентам | 1 | 07.01.2010 15:18 |
...... и опять С++ | Chaynik011091 | Помощь студентам | 5 | 24.06.2009 20:46 |
И опять мэйлы.. Опять... | Pusher | PHP | 6 | 28.06.2008 03:08 |
Опять строки | huck_mid | Общие вопросы Delphi | 9 | 14.06.2007 21:14 |