Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 16.02.2019, 10:40   #1
Cepreu_HuKoJIaeBu4
Новичок
Джуниор
 
Регистрация: 16.02.2019
Сообщений: 2
По умолчанию Форматирование текста в ячейке

Доброго времени суток!
Имеется текст в ячейках некоторые слова которого написаны красным цветом. Необходимо заменить шрифт написанный красным цветом на курсив не меняя цвет.
Таблица большая, более 5000 строк...
К примеру: "Иван Иванов (сын Ивана Ивановича)" нужно заменить на "Иван Иванов (сын Ивана Ивановича)"

Во вложении пример с макросом, но если текст начинается с красного шрифта то макрос не работает...

Подскажите как это можно осуществить?
Вложения
Тип файла: zip 166.zip (13.5 Кб, 8 просмотров)
Cepreu_HuKoJIaeBu4 вне форума Ответить с цитированием
Старый 16.02.2019, 14:48   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

кросс https://www.planetaexcel.ru/forum/in...sta-v-yacheyke
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 16.02.2019, 16:12   #3
Cepreu_HuKoJIaeBu4
Новичок
Джуниор
 
Регистрация: 16.02.2019
Сообщений: 2
По умолчанию

Задача решена благодаря _Boroda_ с МИР MS EXCEL

Код:
Sub tt()
    Dim d As Range, d0 As Range
    Set d0 = Selection
    col_ = 255
    Application.ScreenUpdating = 0
    Application.Calculation = 3
    On Error Resume Next
    For Each d In d0
        With d
            ld_ = Len(.Value)
            ReDim ar(1 To ld_)
            For i = 1 To ld_
                ar(i) = .Characters(Start:=i, Length:=1).Font.Color
            Next i
            .Font.Color = 1
            For i = 1 To ld_
                If ar(i) = col_ Then
                    With .Characters(Start:=i, Length:=1).Font
                        .FontStyle = "курсив"
                        .Color = col_
                    End With
                End If
            Next i
        End With
    Next d
    Application.Calculation = 1
    Application.ScreenUpdating = 1
End Sub
Всем спасибо!
Cepreu_HuKoJIaeBu4 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматирование текста Tomoyo HTML и CSS 2 18.07.2013 18:33
Форматирование текста Arsenx777 Работа с сетью в Delphi 1 31.05.2011 13:55
Форматирование текста Sergey2 Общие вопросы Delphi 10 23.09.2009 07:04
форматирование текста в ячейке alex_r Microsoft Office Excel 2 30.04.2009 18:12
Форматирование текста MAcK Общие вопросы Delphi 3 03.04.2008 10:38


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS