VBA Find / Replace & Text Color Change - PullRequest
       35

VBA Find / Replace & Text Color Change

0 голосов
/ 29 октября 2019

У меня есть электронная таблица с тремя столбцами. В столбце А есть несколько предложений (написаны черным шрифтом). Столбцы C содержат список условий для поиска. И в столбце D есть список заменяющих терминов (написан красным шрифтом).

Я пытаюсь найти предложения в столбце A для поиска терминов в столбце C. И, если столбец A содержит какой-либо изусловия поиска в столбце C, замените текст в столбце A на термины замены в столбце D.

Функция поиска / замены прекрасно работает. Но я не смог заставить цвет шрифта замененной части строки в столбце A стать красным.

Есть мысли?

Вот код, который я получил до сих пор.

Private Sub CommandButton1_Click()

For i = 3 To 6

     Worksheets("Sheet1").Range("A2:A35").Select

     Selection.Replace What:=Cells(i, 3).Value, Replacement:=Cells(i, 4).Value, _
     LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False

Next

Worksheets("Sheet1").Cells(1, 1).Select

End Sub

1 Ответ

0 голосов
/ 29 октября 2019

Попробуйте это:

Private Sub CommandButton1_Click()

For i = 3 To 6

     Worksheets("Sheet1").Range("A2:A35").Select

     With Application.ReplaceFormat
       .Font.Color = vbRed
     End With

     Selection.Replace What:=Cells(i, 3).Value, Replacement:=Cells(i, 4).Value, _
     LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, ReplaceFormat:=True

Next

Worksheets("Sheet1").Cells(1, 1).Select

End Sub

Microsoft Объяснение:

Устанавливает критерии замены для использования при замене форматов ячеек. Критерии замены затем используются в последующем вызове метода Replace объекта Range.

...