Страницы: 1
RSS
Как укоротить строку в ячейке, если количество символов превышает 30?
 
Есть ли возможность выделить все ячейки, которые выделены условным форматированием, например, красным цветом?
Найти по формату не получается, условное форматирование лишь создаёт видимость закрашенной ячейки, не изменяя её цвет.

Есть файл, в котором не должно быть больше 30 символов в ячейке. Делаю условное форматирование по ДЛСТР, делаю выделение красным, но как мне выделить все красные разом, чтоб произвести замену лишнего символа на ничего?

Вручную  делать очень долго, файл содержит несколько сотен тысяч ячеек.
 
Ctrl+G-Выделить
 
Условные форматы → эти же

Не работает, выделяет лист целиком. Или я что-то не учитываю?
 
Фильтром по цвету пробовали?
 
Мотя, Фильтр — единственное, что видит цвет от условного форматирования, но в моей таблице слишком много столбцов, чтоб каждый фильтровать.
Пока что нашёл для себя надстройку, которая перекрашивает условное в реальный цвет. Жду, пока перекрасит. Теперь понимаю, почему условное не красит ячейки, ресурсозатратное это дело х)
 
См. файл и используйте подсказку от vikttur.
Изменено: Мотя - 23.01.2017 23:30:33
 
Мотя, У вас условное форматирование выбрано на некоторых ячейках. У меня есть таблица, и ексель должен проверить КАЖДУЮ ячейку. Поэтому я настраиваю вот так:



Корень проблемы в этом?
Изменено: anotherman182 - 23.01.2017 23:41:04
 
Главная (Найти и выделить (Перейти (Переход (Выделить))))...
Какие формулы в условном форматировании - не имеет значения.
Изменено: Мотя - 23.01.2017 23:47:36
 
Мотя, Выделяет весь лист. Может видео записать, чтоб вы меня направили?
 
Лучше прикрепите "кусок" Вашего файла.  :D
 
Мотя, Мне нужно удалить 4 только из тех столбцов, где она не умещается в 30 символов.
Изменено: anotherman182 - 24.01.2017 00:04:48
 
А файла-примера как раз и не было, быть может Ваша проблема решается другим способом, а не выделением ячеек  с УФ.
 
Похоже, Vik_tor - прав: штатный режим с Вашей формулой не "хочет" работать.
Жаль, все корифеи / гуру уже ушли "в несознанку".  :D
Можно попробовать макросом решить проблему.
Но это - только завтра: уже глубокая ночь.
 
Мотя, И на этом большое спасибо.
 
Удалять нужно ТОЛЬКО "четвёрку"?
 
Юрий М, Зависит от листа. На разных листах разные модели. 4 влезает, 4s может не влезть, тогда надо удалить 4s, например. А так да, в этом примере нужно удалить 4 и пробел перед ней.
 
Если в реальном файле ячеек не очень много, то можно циклом пробежаться по ним и обработать. Если же ОЧЕНЬ много, то забрать диапазон в массив, обработать его в памяти, а затем сбросить обратно на лист. УФ в данном случае не нужно )
 
Юрий М, Можно поподробнее, как это делается?
Ячеек ОЧЕНЬ и ОЧЕНЬ много. Мне крайне желательно повесить это на макрос, чтоб он сам копировал их для следующей по количеству символов модели, сам выявлял >30, и сам затирал модель, если она не вмещается.
Изменено: anotherman182 - 24.01.2017 00:57:07
 
Это макрос нужно писать. Но требуется уточнить один момент: что делать, если 30 символов рвут слово пополам?
 
Юрий М, То нужно стирать название модели. Без названия модели все ячейки умещаются в 30 символов.
 
Цитата
anotherman182 написал:
Без названия модели все ячейки умещаются в 30 символов
В таком случае упрощённый вариант: просто при превышении длины строки отнимаем 3 символа.
УФ удалено.
 
Юрий М, iPhone не всегда в конце ячейки, может быть и в середине
Изменено: anotherman182 - 24.01.2017 01:45:19
 
Цитата
anotherman182 написал:
iPhone не всегда в конце ячейки, может быть и в середине
А вот для этого нужно показывать РЕАЛЬНЫЕ данные. Что показали - для этих данных и получили решение. И неплохо бы показывать имеющиеся данные и желаемый результат. В Правилах об этом есть...
P.S. Название темы меняю: Вам нужно не форматированные ячейки искать, а обрезать текст в ячейках. Разве не так?
 
Юрий М, Ну в контексте нужно именно выделить все ячейки, а вырезать ненужный текст я могу. Если есть другие варианты достижения цели — я не против.
 
Код
Sub Macro2()
Dim DelRa As Range, rCell As Range
    For Each rCell In ActiveSheet.UsedRange
        If Len(rCell) > 30 Then
            If DelRa Is Nothing Then
                Set DelRa = rCell
            Else
                Set DelRa = Union(DelRa, rCell)
            End If
        End If
    Next
    If Not DelRa Is Nothing Then DelRa.Select
End Sub



 
Юрий М, Проверю завтра
 
Я уже проверил )
 
Тыц
 
Юрий М, Syntax error
Страницы: 1
Наверх