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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2008, 15:52   #1
rexec
Пользователь
 
Аватар для rexec
 
Регистрация: 27.12.2007
Сообщений: 73
Вопрос Регистры символов

Доброго времени суток!
Давно уже задавался вопросом как в Excel'e изменять регистр символов с заглавных в строчные и наоборот. Сейчас этот вопрос встал остро. Поделитесь, пожалуйста, опытом. Интересны любые варианты. Я, например, использую Punto Switcher. Но сейчас необходимо текст в большом количестве ячеек перевести с заглавных в строчные символы. В ячейках основном представлены наименования организация, например ООО "ФОРУМ" и т.п. Необходимо получить ООО "Форум"
С уважением!
rexec вне форума Ответить с цитированием
Старый 06.05.2008, 16:19   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ПРОПНАЧ из ООО "ФОРУМ" сделает Ооо "Форум". Задача на половину решена))

В любом случае необходимо формировать список исключений, исходную строку разбивать на три части ДоИсключения, Исключение и ПослеИсключения, а потом обьединить в строку ПРОПНАЧ(ДоИсключения) & Исключение & ПРОПНАЧ(ПослеИсключения)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 06.05.2008, 17:12   #3
rexec
Пользователь
 
Аватар для rexec
 
Регистрация: 27.12.2007
Сообщений: 73
Хорошо

Понял! Спасибо! Видно, мой словарный запас языка формул в Эксель слабоват. Все просто оказалось!
rexec вне форума Ответить с цитированием
Старый 06.05.2008, 17:41   #4
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

=ЛЕВСИМВ(A1;НАЙТИ("""";A1))&ПРОПНАЧ (ПСТР(A1;НАЙТИ("""";A1)+1;НАЙТИ(""" ";A1;НАЙТИ("""";A1)+1)-НАЙТИ("""";A1)-1))&""""
ZORRO2005 вне форума Ответить с цитированием
Старый 06.05.2008, 18:30   #5
rexec
Пользователь
 
Аватар для rexec
 
Регистрация: 27.12.2007
Сообщений: 73
По умолчанию

Цитата:
Сообщение от ZORRO2005 Посмотреть сообщение
=ЛЕВСИМВ(A1;НАЙТИ("""";A1))&ПРОПНАЧ (ПСТР(A1;НАЙТИ("""";A1)+1;НАЙТИ(""" ";A1;НАЙТИ("""";A1)+1)-НАЙТИ("""";A1)-1))&""""
Спасибо, уважаемый ZORRO2005, как всегда оперативно, а я только начал экспериментировать.
rexec вне форума Ответить с цитированием
Старый 06.05.2008, 19:39   #6
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Укоротил:
=ЛЕВСИМВ(A2;НАЙТИ("""";A2))&ПРОПНАЧ (ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ("""";A2)))

P.S. Название фирмы слишком знакомое
ZORRO2005 вне форума Ответить с цитированием
Старый 06.05.2008, 19:46   #7
rexec
Пользователь
 
Аватар для rexec
 
Регистрация: 27.12.2007
Сообщений: 73
Хорошо

Цитата:
Сообщение от ZORRO2005 Посмотреть сообщение
Укоротил:
=ЛЕВСИМВ(A2;НАЙТИ("""";A2))&ПРОПНАЧ (ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ("""";A2)))

P.S. Название фирмы слишком знакомое
Да, так проще получается! Название с потолка, т.е. не совсем, мы же все на форуме все-таки
rexec вне форума Ответить с цитированием
Старый 02.02.2009, 08:42   #8
ocean_regata
Пользователь
 
Аватар для ocean_regata
 
Регистрация: 27.01.2009
Сообщений: 22
По умолчанию

Всем привет!

подскажите пожалуйста, как сделать так, чтобы (без помощи CapsLock) в ячейке (в нескольких ячейках) буквы вводились только в верхнем регистре?
ocean_regata вне форума Ответить с цитированием
Старый 02.02.2009, 09:19   #9
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пусть, например, все символы, вводимые в столбец "A", должны быть в верхнем регистре. Тогда вставьте в модуль нужного листа следующий код:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 And Selection.Count = 1 Then Target = UCase(Target)
End Sub
P.S. При копировании/вставке диапазона ячеек, этот метод работать не сработает.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 02.02.2009, 12:14   #10
ocean_regata
Пользователь
 
Аватар для ocean_regata
 
Регистрация: 27.01.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 And Selection.Count = 1 Then Target = UCase(Target)
End Sub
О!Спасибо!

а если столбцы 4,5,6 (D,E,F), тогда как? вроде и код примитивный , а все равно не получается самому докумекать
ocean_regata вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регистры Манжосов Денис :) Помощь студентам 8 28.07.2008 12:48
Регистры RealSHELS Общие вопросы Delphi 3 28.03.2008 18:56
Регистры Elm0 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 10.02.2008 19:49
Рандом символов Xandr Общие вопросы Delphi 8 25.10.2007 16:50
Массив символов PsyTech Общие вопросы C/C++ 4 08.10.2007 10:13