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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2018, 11:06   #1
sacredww
 
Регистрация: 30.03.2018
Сообщений: 6
По умолчанию Сортировка текста по регистрам

Всем привет
Нужна формула для сортировки строк нижних и верхних регистров.

Спасибо!
sacredww вне форума Ответить с цитированием
Старый 10.05.2018, 11:16   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

что за сортировка регистров? поясните, что Вы имеете в виду?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.06.2018, 02:34   #3
sacredww
 
Регистрация: 30.03.2018
Сообщений: 6
По умолчанию

Допустим имею список:

сергей
вАня
алеша
оЛег
Петя
оля
катЯ

нужно чтобы текст с любым верхним регистром был во втором столбце или в конце списка
допустим вот так:

в первом столбце все с нижним регистром :

сергей
алеша
оля


во втором все с верхним регистром:

вАня
оЛег
Петя
катЯ

или хотяб так:

сергей
алеша
оля

вАня
оЛег
Петя
катЯ

Последний раз редактировалось sacredww; 01.06.2018 в 02:36.
sacredww вне форума Ответить с цитированием
Старый 01.06.2018, 07:38   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вопрос понял.
отвечаю.

во-первых, слово "Сортировка" в данном случае не очень корректно.
ну, если второй вариант можно назвать сортировкой, то первый (с выделением в отдельный столбец) - это фильтрация или выборка данных.

во-вторых, формулами вашу задачу решить крайне сложно (если и вообще возможно).
Вам нужен макрос для выборки данных.
Исходный список где находится?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.06.2018, 13:26   #5
sacredww
 
Регистрация: 30.03.2018
Сообщений: 6
По умолчанию

в тхт файле
sacredww вне форума Ответить с цитированием
Старый 01.06.2018, 21:53   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от sacredww Посмотреть сообщение
в тхт файле
отлично.
А как это связано с Excel ?
Вы его в Excel ручками вставляете? Или тот же макрос и должен из TXT брать?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.06.2018, 21:57   #7
sacredww
 
Регистрация: 30.03.2018
Сообщений: 6
По умолчанию

все руками
или нужно хотяб чтоб все слова которые имееют любой верхний регистр удалялись
sacredww вне форума Ответить с цитированием
Старый 01.06.2018, 22:45   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от sacredww Посмотреть сообщение
все руками
так в чём проблема то?
давайте ваш текстовый файл, я удалю
Цитата:
Сообщение от sacredww Посмотреть сообщение
все слова которые имееют любой верхний регистр
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.06.2018, 23:05   #9
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Sub doWork()
    Dim lowerCases As Range
    Dim mixedCases As Range
    Dim rng As Range
    Dim cel As Range
    Set rng = Range("a1:a7")
    If rng.Columns.Count > 1 Then Exit Sub
    For Each cel In rng
        If cel = LCase(cel) Then
            If lowerCases Is Nothing Then
                Set lowerCases = cel
            Else
                Set lowerCases = Union(lowerCases, cel)
            End If
            Debug.Print cel & "=> LOWER"
        Else
            If mixedCases Is Nothing Then
                Set mixedCases = cel
            Else
                Set mixedCases = Union(mixedCases, cel)
            End If
            Debug.Print cel & "=> MIXED"
        End If
    Next

    Dim i As Integer
    i = 1
    For Each cel In lowerCases
        [d1].Offset(i - 1, 0) = cel
        i = i + 1
    Next
    i = 1
     For Each cel In mixedCases
        [E1].Offset(i - 1, 0) = cel
        i = i + 1
    Next
    
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка текста (Delphi) aleksskay Помощь студентам 0 18.11.2012 19:18
Сортировка текста из файла Henny Помощь студентам 4 10.01.2012 10:13
сортировка текста с картинкой nicoly_sw Microsoft Office Word 5 15.05.2010 03:09
Снятие чувствительности к регистрам 4BlooD Помощь студентам 2 03.02.2010 08:29
Импорт и сортировка текста zander Microsoft Office Excel 4 20.02.2009 09:26