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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 15:53   #1
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию перевод заглавных букв в строчные в вба

уже раз третий возникает вопрос.
конечно, можно создать 2 массива один - заглавные буквы, другой строчные, поставить взаимооднозначное соответствие и менять, когда нужно..
но как-то это не правильно. может быть есть какой-нибудь оператор?
peq вне форума Ответить с цитированием
Старый 29.09.2009, 15:56   #2
grenles
минимакс
Участник клуба
 
Аватар для grenles
 
Регистрация: 11.06.2008
Сообщений: 1,143
По умолчанию

не уверен, что для русских букв есть.
для англиских есть. точно. для русских - не уверен.
Поэтому с массивами - вполне сносное решение.

вот что я нашел на
http://subscribe.ru/archive/comp.sof.../29090704.html
Код:
Sub colorCase3()
'Применение к первым заглавным буквам красного цвета, а к строчным - черного цвета
Dim fChar As Range
Dim selText As Range
Set selText = Selection.Range
If Selection.Type = wdSelectionIP Then
   MsgBox "Не выделен текст"
Else
   For Each fChar In selText.Words
      fChar.Font.Color = wdColorBlack
         If fChar.Characters.First Like "[A-ЯA-Z]" Then
            fChar.Characters.First.Font.Color = wdColorRed
         End If
   Next fChar
End If
End Sub
вот нашел еще
http://otvety.google.ru/otvety/threa...9609aa24dcc51b

Код:
Sub cipher()
' Макрос записан 04/02/2009 (VLAD)
With Cells
.Replace "а", "01."
.Replace "б", "02."
.Replace "в", "03."
.Replace "г", "04."
.Replace "д", "05."
.Replace "е", "06."
.Replace "ж", "07."
.Replace "з", "08."
.Replace "и", "09."
.Replace "й", "10."
.Replace "к", "11."
.Replace "л", "12."
.Replace "м", "13."
.Replace "н", "14."
.Replace "о", "15."
.Replace "п", "16."
'середина списка'
.Replace "р", "17."
.Replace "с", "18."
.Replace "т", "19."
.Replace "у", "20."
.Replace "ф", "21."
.Replace "х", "22."
.Replace "ц", "23."
.Replace "ч", "24."
.Replace "ш", "25."
.Replace "щ", "26."
.Replace "ъ", "27."
.Replace "ы", "28."
.Replace "ь", "29."
.Replace "э", "30."
.Replace "ю", "31."
.Replace "я", "32."
End With
End Sub
ну и вот кое-что интересное
http://msexcel.ru/content/view/97/109/
и это пройдет...

Последний раз редактировалось grenles; 29.09.2009 в 16:06.
grenles вне форума Ответить с цитированием
Старый 29.09.2009, 15:58   #3
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

у меня сейчас все элементы на английском

___
спасибо, но, если я правильно понял, можно поступить проще.
http://www.codeproject.com/KB/macros...apcaseasp.aspx


взять первую букву, перегнать в нужный регистр(UCase(strSelected), LCase(strSelected)) и переприсвоить. интересно даже, с кириллицей это будет пахать или нет. надо будет проверить

Последний раз редактировалось peq; 29.09.2009 в 17:34.
peq вне форума Ответить с цитированием
Старый 29.09.2009, 17:51   #4
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

супер. все канает и с кириллицей и с латинскими буквами.

если кому надо, код:

s1 = UCase(Mid(Workbooks("123_5.xlsm").S heets(2).Cells(11 + i1, 1), 1, 1))
s2 = Workbooks("123_5.xlsm").Sheets(2).C ells(11 + i1, 1)
Mid(s2, 1, 1) = s1
MsgBox s2

в ячейке с позицией (11 + i1, 1) искомая текстовая величина
peq вне форума Ответить с цитированием
Старый 29.09.2009, 23:31   #5
Алена-2009
Пользователь
 
Аватар для Алена-2009
 
Регистрация: 22.04.2009
Сообщений: 82
По умолчанию

Текстовая функция СТРОЧН
Преобразует знаки в текстовой строке из верхнего регистра в нижний.

Синтаксис: СТРОЧН(текст)

Текст — текст, преобразуемый в нижний регистр. Функция СТРОЧН не заменяет знаки, не являющиеся буквами.
Алена-2009 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразование латинских заглавных букв в строчные на assembler lastochka Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 19.05.2013 11:58
C++ Замена прописных букв на строчные Eddie Помощь студентам 0 04.06.2009 16:52
Доступ к графическим объектам из ВБА НеВа6464 Microsoft Office Excel 2 16.05.2009 21:52
дан текстовый массив из 200 букв. Выстроить в алфавитном порядке все строчные буквы Тина Помощь студентам 6 02.07.2008 22:53
Перебор заглавных букв в слове =LeonZone= Общие вопросы Delphi 8 02.11.2007 14:59