Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Форматирование только части ячейки (выделение цветом)
 
Подскажите по следующему вопросу
Есть много ячеек:
Петров 27 из 300 заданий выполнено 2 неудовлетворительно
Иванов 248 из 300 заданий выполнено 4 хорошо

Можно как либо макросом преобразовать их в вид:

Петров 27 из 300 заданий выполнено 2 неудовлетворительно
Иванов 248 из 300 заданий выполнено 4 хорошо

То есть цвет должен задавать в зависимости от диапазона в котором оно находится.
Заранее спасибо!
 
Петров Иван, ну кажется тут обычное УФ подойдет,  но файл-пример нужен.
 
Петров Иван, Можно, но не лучше ли разнести это на столбцы и условно отформатировать только нужные. Правильно отформатированная таблица будет лучше читаема чем разукрашенный текст,
 
Понятно, что может и лучше таблица, но нужен именно цветной текст. Иначе бы я и не писал....
 
Цитата
Петров Иван написал:
Можно как либо макросом преобразовать их в вид:

Цитата
БМВ написал:
Можно,
 
Цитата
Петров Иван написал: Иначе бы я и не писал....
OFF Писать желательно сюда - раздел "Работа".
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Цитата
Петров Иван написал:
Можно как либо макросом преобразовать их в вид... цвет должен задавать в зависимости от диапазона в котором оно находится
Можно, но только с файлом-примером и четким описанием зависимости цвета (может быть, по последнему числу?)
 
Цитата
Казанский написал:
Иванов 248 из 300 заданий выполнено 4 хорошо
Вложил пример
 
Петров Иван, задача "на 1 раз", ввиду подхода - неинтересно…
Гляньте пример вот тут. Если не разберётесь и не помогут, то в Работу
Изменено: Jack Famous - 28 Мар 2018 16:23:58
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Добрый день! Если набрано 150 баллов оценка будет красной
Код
Sub ÖâåòÁàëëîâ()
Dim St As Integer, St2 As Integer, Ln As Integer, i As Integer
Dim x As String
For i = 3 To Cells(2, 1).End(xlDown).Row
    St = InStr(1, Cells(i, 1), " ") + 1
    Ln = InStr(St, Cells(i, 1), " ") - St
    St2 = InStrRev(Cells(i, 1), " ") - 1
    x = Mid(Cells(i, 1), St, Ln)
    If x > 150 Then
        Cells(i, 1).Characters(St, Ln).Font.Color = vbBlue
        Cells(i, 1).Characters(St2, 1).Font.Color = vbBlue
    Else
        Cells(i, 1).Characters(St, Ln).Font.Color = vbRed
        Cells(i, 1).Characters(St2, 1).Font.Color = vbRed
    End If
Next i
End Sub
 
Спасибо!
Принципиально помогло!
Страницы: 1
Читают тему (гостей: 1)