Форматировать текст во всей строке на основе пользовательского ввода - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть код, который я использую, чтобы закрасить текст жирным и красным в зависимости от ввода пользователя. Данные в столбце F. Я бы хотел покрасить весь текст в этой строке красным, за исключением столбца F (поэтому диапазон форматирования текста столбца = A: E)

Я должен добавить, эти данные находятся в таблице данных в Excel, я не уверен, что это актуально.

Я новичок в VBA и не уверен, как обращаться к строке, когда код имеет дело со строкой.

Вот мой код

    Public Sub RedText()

    Set MyRange = Range("A:F")  'The Range that contains the substring you want to change color

    substr = InputBox("Enter the word to make Red", , "note")

    txtColor = 3   'The ColorIndex which repsents the color you want to change



    For Each myString In MyRange

        lenstr = Len(myString)

        lensubstr = Len(substr)

        For i = 1 To lenstr

            tempString = Mid(myString, i, lensubstr)

            If tempString = substr Then

                myString.Characters(Start:=i, Length:=lensubstr).Font.ColorIndex = txtColor

                myString.Characters(Start:=i, Length:=lensubstr).Font.Bold = True

            End If

         Next i

    Next myString

End Sub

Я пытался добавить для диапазона такие выражения, как r.Interior.Color = vbYellow, но даже не могу заставить его работать. Может ли кто-нибудь указать мне правильное направление?

заранее спасибо

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