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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2009, 20:33   #1
frantic150
Пользователь
 
Аватар для frantic150
 
Регистрация: 25.05.2009
Сообщений: 31
Лампочка Изменение регистра букв

Помогите написать макрос для изменения регистра букв слова в ячейке
Например:

A1 = "Яблоко" >>> A1 = "ЯБЛОКО"
frantic150 вне форума Ответить с цитированием
Старый 02.11.2009, 20:58   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Код:
Sub CaseSwitcher()
' Сочетание клавиш: Ctrl+s'
Static even As Boolean
even = Not even
    Select Case even
    Case True
        Selection = UCase(Selection)
    Case False
        Selection = LCase(Selection)
    End Select
End Sub
Выделяете ячейку — и запускаете макрос (можно по Alt-F8 или Alt-F11).

Приложенная программа работает лишь с одной ячейкой — выделенной. (Это аналог сочетания Shift-F3 в Word’е.)
Вложения
Тип файла: rar CaseConvert.rar (8.0 Кб, 38 просмотров)

Последний раз редактировалось Sasha_Smirnov; 02.11.2009 в 21:24. Причина: файл с программой, запускаемой по ctrl-s.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 07.11.2009, 17:17   #3
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

А для выделенной области, что, не надо?

(Без отзывов непонятно, как оно?)
Sasha_Smirnov вне форума Ответить с цитированием
Старый 15.04.2012, 10:40   #4
dzaymko
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
А для выделенной области, что, не надо?

(Без отзывов непонятно, как оно?)
Код:

Sub CaseSwitcher()
' Сочетание клавиш: Ctrl+s'
Static even As Boolean
even = Not even
Select Case even
Case True
Selection = UCase(Selection)
Case False
Selection = LCase(Selection)
End Select
End Sub

как прописать для столбца или выделенной области????
dzaymko вне форума Ответить с цитированием
Старый 15.04.2012, 11:51   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
Sub UPCase()
  If TypeName(Selection) = "Range" Then
    For Each C In Selection.Cells
      C.Value = UCase(C.Value)
    Next C
  End If
End Sub
Изменяет регистр на верхний в выделенной области.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 16.04.2012, 10:11   #6
dzaymko
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 18
По умолчанию

спасибо огромное DiemonStar


подскажите как прописать надо поменять "Autofren" на "AUTOFREN SIENA" и еще несколько слов ?

Последний раз редактировалось dzaymko; 16.04.2012 в 10:14.
dzaymko вне форума Ответить с цитированием
Старый 16.04.2012, 18:25   #7
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию



Один из наилучших способов.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 17.04.2012, 15:23   #8
dzaymko
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 18
По умолчанию можно прописать????

можно прописать замена текста по условию(что в этой строке есть определенный текст) ????

например:
бренд----М456
бренд1---М456
бренд2---М456

надо заменить М456 на Т456 только в строке бренд!

Последний раз редактировалось dzaymko; 17.04.2012 в 15:33.
dzaymko вне форума Ответить с цитированием
Старый 29.08.2012, 14:19   #9
users-znaika
Новичок
Джуниор
 
Регистрация: 29.08.2012
Сообщений: 1
По умолчанию

DiemonStar, подскажите плиз, на два вопроса:
1. как прописать у него возможность чтобы можно было менять регистр - (маленькие-большие: большие-маленькие)?
2. как сделать, чтобы данный макрос запускался по умолчанию с загрузкой Екселя?
users-znaika вне форума Ответить с цитированием
Старый 29.08.2012, 15:10   #10
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
Private Sub Workbook_Open()
  S = MsgBox("В верхний регистр (Да), в нижний регистр (Нет)?", vbYesNoCancel, "Преобразование регистра")
  If S <> vbCancel Then
    For Each C In ActiveSheet.[A1].CurrentRegion.Cells
        Select Case S
          Case vbYes
              C.Value = UCase(C.Value)
          Case vbNo
              C.Value = LCase(C.Value)
        End Select
      Next C
  End If
End Sub
вставите процедуру в код книги и будет вам счастье. (работает только для связанных областей относительно ячейки a1)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение регистра букв VladimirAleks Общие вопросы Delphi 4 27.10.2009 19:27
Смена регистра Last Microsoft Office Excel 6 12.08.2009 14:52
Автоматическое исправление регистра букв apomin Microsoft Office Word 6 07.12.2008 00:29
Отмена учета регистра Македонский Общие вопросы Delphi 7 12.09.2007 09:41
Запись регистра xak2 Общие вопросы Delphi 4 07.05.2007 22:18