Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Возможно ли закрасить текст разным цветом в одной ячейке? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Возможно ли закрасить текст разным цветом в одной ячейке? (Формулы/Formulas)
Возможно ли закрасить текст разным цветом в одной ячейке?
Кузьмич Дата: Среда, 14.10.2015, 16:44 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 2 ±
Замечаний: 0% ±

Excel 2013
Доброго здравия форумчане!
Скажите, возможно ли в екселе закрасить текст в ячейке разным цветом?
Файл примера прилагается (офис 10).
В файле-примере в столбце А1:А5 в каждой ячейке содержиться текст для которого выполнено условное форматирование. В (выигрыш) - закрашивается зеленым цветом, Н (ничья) - закрашивается желтым цветом, П (проигрыш) - закрашивается красным цветом. В ячейке С3 с помощью формулы СЦЕПИТЬ, связана вся серия Выигрышей, Проигрышей и Ничьих из А1:А5. Вот в этой ячейке С3 и хотелось бы закрасить каждый исход в свой цвет. Вручную в ячейке В6 у меня получилось сделать как я хотел. Может формула есть какая по данной задаче?
Заранее благодарю!
К сообщению приложен файл: 1478914.xlsx (10.4 Kb)


Ну, теперь вся утка наша...
 
Ответить
СообщениеДоброго здравия форумчане!
Скажите, возможно ли в екселе закрасить текст в ячейке разным цветом?
Файл примера прилагается (офис 10).
В файле-примере в столбце А1:А5 в каждой ячейке содержиться текст для которого выполнено условное форматирование. В (выигрыш) - закрашивается зеленым цветом, Н (ничья) - закрашивается желтым цветом, П (проигрыш) - закрашивается красным цветом. В ячейке С3 с помощью формулы СЦЕПИТЬ, связана вся серия Выигрышей, Проигрышей и Ничьих из А1:А5. Вот в этой ячейке С3 и хотелось бы закрасить каждый исход в свой цвет. Вручную в ячейке В6 у меня получилось сделать как я хотел. Может формула есть какая по данной задаче?
Заранее благодарю!

Автор - Кузьмич
Дата добавления - 14.10.2015 в 16:44
МВТ Дата: Среда, 14.10.2015, 17:21 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
В принципе, текст в ячейке можно раскрасить так[vba]
Код
Sub tt()
Dim S As String
Dim i As Long
    With Range("C3")
    For i = 1 To Len(.Value)
        S = Mid(.Value, i, 1)
        Select Case S
            Case "В": .Characters(i, 1).Font.Color = vbGreen
            Case "П": .Characters(i, 1).Font.Color = vbRed
            Case "Н": .Characters(i, 1).Font.Color = vbYellow
        End Select
    Next
    End With
End Sub
[/vba]
Но почему-то этот способ не работает с текстом полученным в результате сцепления. Так и не смог выяснить - почему? Возможно, кто-то знает ответ.
UPD
Как обходной варинат
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub
[C3] = [A1] & [A2] & [A3] & [A4] & [A5]
    With Range("C3")
    For i = 1 To Len(.Value)
        S = Mid(.Value, i, 1)
        Select Case S
            Case "В": .Characters(i, 1).Font.Color = vbGreen
            Case "П": .Characters(i, 1).Font.Color = vbRed
            Case "Н": .Characters(i, 1).Font.Color = vbYellow
            Case Else: .Characters(i, 1).Font.Color = vbBlack
        End Select
    Next
    End With
End Sub
[/vba]


Сообщение отредактировал МВТ - Среда, 14.10.2015, 17:37
 
Ответить
СообщениеВ принципе, текст в ячейке можно раскрасить так[vba]
Код
Sub tt()
Dim S As String
Dim i As Long
    With Range("C3")
    For i = 1 To Len(.Value)
        S = Mid(.Value, i, 1)
        Select Case S
            Case "В": .Characters(i, 1).Font.Color = vbGreen
            Case "П": .Characters(i, 1).Font.Color = vbRed
            Case "Н": .Characters(i, 1).Font.Color = vbYellow
        End Select
    Next
    End With
End Sub
[/vba]
Но почему-то этот способ не работает с текстом полученным в результате сцепления. Так и не смог выяснить - почему? Возможно, кто-то знает ответ.
UPD
Как обходной варинат
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub
[C3] = [A1] & [A2] & [A3] & [A4] & [A5]
    With Range("C3")
    For i = 1 To Len(.Value)
        S = Mid(.Value, i, 1)
        Select Case S
            Case "В": .Characters(i, 1).Font.Color = vbGreen
            Case "П": .Characters(i, 1).Font.Color = vbRed
            Case "Н": .Characters(i, 1).Font.Color = vbYellow
            Case Else: .Characters(i, 1).Font.Color = vbBlack
        End Select
    Next
    End With
End Sub
[/vba]

Автор - МВТ
Дата добавления - 14.10.2015 в 17:21
KSV Дата: Среда, 14.10.2015, 17:31 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение
Так и не смог выяснить - почему?

Потому что, если в ячейке формула, то объект Characters отсутствует.

Автор - KSV
Дата добавления - 14.10.2015 в 17:31
Кузьмич Дата: Понедельник, 19.10.2015, 13:38 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 2 ±
Замечаний: 0% ±

Excel 2013
Благодарю за помощь!


Ну, теперь вся утка наша...
 
Ответить
СообщениеБлагодарю за помощь!

Автор - Кузьмич
Дата добавления - 19.10.2015 в 13:38
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Возможно ли закрасить текст разным цветом в одной ячейке? (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!