Существует ли макрос для изменения цвета шрифта ячеек, содержащих текст (например, условное форматирование, но не условное форматирование)? - PullRequest
0 голосов
/ 05 января 2019

Мне нужен макрос, который просто изменит цвет шрифта любой ячейки в диапазоне «заметки» (12 столбцов, 200k + строк), который содержит любой из поисковых терминов в диапазоне «термины» (1 столбец, 300 строк) и будет отсортировать все строки по цвету шрифта этого диапазона.

Я создал шаблон, в который можно вставлять данные, в котором применяется условное форматирование, включающее все термины (190 отдельных правил форматирования), но обработка занимает очень много времени, а потом - еще больше, когда я пытаюсь сортировать (по одной строке за раз или использовать пользовательскую сортировку для всех «заметок»).

Мне нужно, чтобы он изменил шрифт, например, условное форматирование, но я не хочу применять условное форматирование, я просто хочу изменить шрифт этих ячеек, чтобы при запуске пользовательской сортировки он не превышал 30 минут.

1 Ответ

0 голосов
/ 05 января 2019

Вы можете попробовать:

Option Explicit

Sub test()

    Dim rngTerms As Range, cellsTerms As Range
    Dim rngNotes As Range, cellsNotes As Range

    'With statement refers to shee 1
    With ThisWorkbook.Worksheets("Sheet1")

        'Select & name the area which contains "terms" as TermsRange (Pic. 1)
        Set rngTerms = .Range("TermsRange")
        'Select & name the area which contains "notes" as NotesRange (Pic. 2)
        Set rngNotes = .Range("NotesRange")

        For Each cellsTerms In rngTerms

            For Each cellsNotes In rngNotes

                If cellsTerms = cellsNotes Then
                    cellsTerms.Font.Color = vbRed
                    cellsNotes.Font.Color = vbRed
                End If

            Next

        Next

    End With

End Sub

Изображение 1:

enter image description here Фото 2:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...