Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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