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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2010, 10:59   #1
zaraz
Пользователь
 
Регистрация: 13.01.2010
Сообщений: 11
По умолчанию Замена символов в строчке на прописные

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

честно говоря ума не приложу как это делать...
zaraz вне форума Ответить с цитированием
Старый 13.01.2010, 11:08   #2
Юнлинг
Форумчанин
 
Регистрация: 17.10.2008
Сообщений: 239
По умолчанию

Цитата:
Сообщение от zaraz Посмотреть сообщение
нужно создать функцию, которая изменяла каждый второй символ в строке на прописной.

честно говоря ума не приложу как это делать...
Они уже есть в Excelе. для ячейки A1
Код:
==ЗАМЕНИТЬ(A1;2;1;ПРОПИСН(ПСТР(A1;2;1)))
Юнлинг вне форума Ответить с цитированием
Старый 13.01.2010, 11:19   #3
zaraz
Пользователь
 
Регистрация: 13.01.2010
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Юнлинг Посмотреть сообщение
Они уже есть в Excelе.
мне не для себя. такое вот задание - написать функцию
zaraz вне форума Ответить с цитированием
Старый 13.01.2010, 11:40   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Например, так:
Код:
Function Проп2(ячейка As Range) As String
    Dim i As Integer, s As String
    For i = 1 To Len(ячейка)
        If i Mod 2 = 0 Then s = s & LCase(Mid$(ячейка, i, 1)) Else s = s & UCase(Mid$(ячейка, i, 1))
    Next: Проп2 = s
End Function
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 13.01.2010, 11:58   #5
zaraz
Пользователь
 
Регистрация: 13.01.2010
Сообщений: 11
По умолчанию

спасибо! не знал про функции UCase и LCase. теперь такие рода задачи смогу сам решать!
zaraz вне форума Ответить с цитированием
Старый 13.01.2010, 12:22   #6
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Например, так:
Код:
Function Проп2(ячейка As Range) As String
    Dim i As Integer, s As String
    For i = 1 To Len(ячейка)
        If i Mod 2 = 0 Then s = s & LCase(Mid$(ячейка, i, 1)) Else s = s & UCase(Mid$(ячейка, i, 1))
    Next: Проп2 = s
End Function
Небольшое замечание: SAS888 у вас нечетные символы тоже меняются, а этого в задании не было поэтому с вашего позволения подправлю:
Код:
Function Проп2(ячейка As Range) As String
    Dim i As Integer, s As String
    For i = 2 To Len(ячейка) Step 2
        s = s & UCase(Mid$(ячейка, i, 1)) 
    Next: Проп2 = s
End Function
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 13.01.2010, 12:28   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
у вас нечетные символы тоже меняются, а этого в задании не было...
Согласен. Я специально так сделал. Подождем, что по этому поводу скажет автор вопроса. По опыту знаю, что задача очень часто ставится не полностью, а иногда и не корректно.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 13.01.2010, 12:57   #8
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Или так:
Код:
Function Up2(s As String) As String
      Dim i As Long
      For i = 2 To Len(s) Step 2
           Mid$(s,i,1) = UCase(Mid$(s,i,1)) 
      Next i
      Up2 = s
End Function
Aent вне форума Ответить с цитированием
Старый 13.01.2010, 14:07   #9
zaraz
Пользователь
 
Регистрация: 13.01.2010
Сообщений: 11
По умолчанию

Цитата:
Небольшое замечание: SAS888 у вас нечетные символы тоже меняются,
там меняются только нечетные символы. мне же надо было чтобы изменились только четные. я поменял местами действие по then и по else местами. вот и все.

зы и задачу я поставил вроде как корректно и правильно.

всем большое спасибо за помощь!
zaraz вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замена символов в строке euhenia Помощь студентам 3 30.11.2009 20:59
Замена символов в слове S@fer PHP 2 10.11.2009 09:45
Замена символов в мемо Neora Общие вопросы C/C++ 1 27.09.2009 11:18
Шифрование, замена символов. foE Общие вопросы Delphi 4 26.05.2009 12:03
Замена символов PAVEL315 Общие вопросы Delphi 1 03.02.2007 21:56