powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
18 сообщений из 18, страница 1 из 1
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35135656
Доброе время суток!

Уважаемые гуру, не могли бы вы помочь.
Необходимо каким-либо образом автоматизировать процесс изменения вида текста в ячейке.
Проблема состоит в том, что в экселевской таблице присутствуют в ячейки в которых в текстовом виде присутствуют химические элементы, а также единицы измерения объёма и площади.
Приблизительно СО_3 это СО
Код: plaintext
3
, или НЕ_2_4 НЕ
Код: plaintext
2
4
и тому подобное.
Нелязя ли, как-нибудь в ячейке по шаблону заменять задавая в качастве параметра скажем "НЕ_3" и менять его на 3 в верхнем или нижнем регистре.

Пробовал через Наити - Заменить, не работает. Вся надежда только на вас. Таблица большая и не одна, начальник хочет что было "красиво". В ручную менять можно застрелиться, да и есть вероятность что что-нибудь пропустишь =(
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35135753
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критерий, когда верхний а когда нижний, какой?
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35136519
vkodorКритерий, когда верхний а когда нижний, какой?

Пример прикрепил.
Все формулы находятся в одном столбце.
Y и Z есть не везде
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35136528
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форумный Гость vkodorКритерий, когда верхний а когда нижний, какой?

Пример прикрепил.
Все формулы находятся в одном столбце.
Y и Z есть не вездеНу а критерий то какой? Вот вижу я HEX_Y_Z, я ничего про вашу контору не знаю, как я должен догадаться что это HEX_Y_Z надо превратить в HEX Y-Z ?
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35136654
XYZ - числа
Буквы спереди разные, т.е. критерием отбора служит число идущее после букв, первое попавшееся число в ячейке после букв это Х. Х - подстрочный символ, потом идет подчекивание и идет следующее число Y. Y должен быть уже в надстрочном, затем опять подчеркивание и следующее число Z. Сложность ещё состоит в том, что если есть Z,то в верхнем регистре должно находиться после букв Y-Z. Главное безобразие ещё в том, что числа Z или одновременно Z и Y может в ячейке не оказасться =/
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35136658
Вспомните как записывались химические элементы http://www.chemport.ru/pertable/
Например элемент гелий НЕ порядковый номер в таблице Менделеева у него "2" (верхний регистр), а атомная масса его 4 (нижний), ещё есть валентность... короче слошная химия =(
Вот это и нужно "красиво" изобразить, но беда в том что из БД выкидываются они в таком виде видимо...
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35136811
Лучше выложите файл (реальный пример).
А то из вас тянуть информацию не очень хочется, это же вам надо, так объясните все более наглядно!
Например до сих пор не понял...возможен ли случай когда нет числа X ? (и т.п)
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35136999
Реальный файл на работе, сейчас под рукой нету =/

Х - есть всегда, У и Z могут быть а могут и не быть.

Вложил файлик приблизительно как есть
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35138619
Я могу помочь, только выложите реальный файл, так как у меня есть куча вопросов, которые будут решены, когда будет выложен файл.
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35139333
AlexFred
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Я могу помочь, только выложите реальный файл, так как у меня есть куча вопросов, которые будут решены, когда будет выложен файл.


Цепляю.
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35140050
Chelovek Tapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приложенный файл не без недостатков, но это не важно.
Порядок действий следующий
1) Открываете вложенный файл
2) Открываете файл, который надо обработать
3) Выделяете область в файле, которая будет обрабатываться
4) жмете <ctrl>+<T>

Предостерегаю...
Те ячейки, в которых отображено все корректно, обрабатывать не надо(то есть выделять), так как обработаются они не правильно.
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35140161
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну можно вот так. Примитивно и в лоб:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    Dim c As Range, SwitchToSubscript As Integer, SwitchToSuperScript As Integer
    
    For Each c In ActiveSheet.UsedRange.Columns( 1 ).Cells
        If (Left(c.Text,  1 ) >= "A") And (Left(c.Text,  1 ) <= "Z") Then
            c.Offset( 0 ,  2 ).Value = c.Text
            SwitchToSubscript =  1 
            Do While (SwitchToSubscript < Len(c.Text)) And (Not (IsNumeric(Mid(c.Text, SwitchToSubscript,  1 ))))
                SwitchToSubscript = SwitchToSubscript +  1 
            Loop

            If SwitchToSubscript <= Len(c.Text) Then
                SwitchToSuperScript = InStr(c.Text, "_")
                If SwitchToSuperScript >  0  Then
                    c.Offset( 0 ,  2 ).Value = Replace(c.Offset( 0 ,  2 ).Text, "_", "",  1 ,  1 )
                    c.Offset( 0 ,  2 ).Value = Replace(c.Offset( 0 ,  2 ).Value, "_", "-")
                End If
                
                c.Offset( 0 ,  2 ).Characters(SwitchToSubscript).Font.Subscript = True
                If SwitchToSuperScript >  0  Then
                    c.Offset( 0 ,  2 ).Characters(SwitchToSuperScript).Font.Superscript = True
                End If
            End If
        End If
    Next
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35140297
AlexFred
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Chelovek TapokПриложенный файл не без недостатков, но это не важно.
Порядок действий следующий
1) Открываете вложенный файл
2) Открываете файл, который надо обработать
3) Выделяете область в файле, которая будет обрабатываться
4) жмете <ctrl>+<T>

Предостерегаю...
Те ячейки, в которых отображено все корректно, обрабатывать не надо(то есть выделять), так как обработаются они не правильно.

ГЕНИЙ! Работает великолепно, потытался разобраться как нифига не понял.

автор
Ну можно вот так. Примитивно и в лоб:

Что-то не получилось, что я делаю не так?
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35140348
AlexFred
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 White Owl

Виноват, разобрался =) Тоже работает великолепно!
Загвоздка крылась в этой строке
Код: plaintext
1.
If (Left(c.Text,  1 ) >= "A") And (Left(c.Text,  1 ) <= "Z") Then
Русские буквы не учитывались :)
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35140351
AlexFred
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за оказанную помощь!
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35140352
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexFredРусские буквы не учитывались :)С каких это пор химические элементы начали обозначаться русскими буквами?
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35141199
Chelovek Tapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
ГЕНИЙ! Работает великолепно, потытался разобраться как нифига не понял.


Гениальность должна заключаться не в сложности написанного, а в оптимально выбраном методе под конкретную задачу.
Так что здесь скорее гений White Owl (респект).

P.S. Сложно написать - просто, а вот написать просто - сложно.

P.S.P.S. Вот такой вот пердимонокль...
...
Рейтинг: 0 / 0
Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
    #35141389
AlexFred
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторС каких это пор химические элементы начали обозначаться русскими буквами?

Есть мастера в разных раскладках буковки рисовать =)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как автоматизировать замену текста на верхний и нижний регистр в Ecxel...нид хелп
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]