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

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

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

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

Цитата
БМВ написал:
Можно,
По вопросам из тем форума, личку не читаю.
 
Цитата
Петров Иван написал: Иначе бы я и не писал....
OFF Писать желательно сюда - раздел "Работа".
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Цитата
Петров Иван написал:
Можно как либо макросом преобразовать их в вид... цвет должен задавать в зависимости от диапазона в котором оно находится
Можно, но только с файлом-примером и четким описанием зависимости цвета (может быть, по последнему числу?)
 
Цитата
Казанский написал:
Иванов 248 из 300 заданий выполнено 4 хорошо
Вложил пример
 
Петров Иван, задача "на 1 раз", ввиду подхода - неинтересно…
Гляньте пример вот тут. Если не разберётесь и не помогут, то в Работу
Изменено: Jack Famous - 28.03.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
Наверх