Установить выравнивание ячейки в диапазоне на основе значения текста в ячейке - PullRequest
0 голосов
/ 05 января 2020

Я новичок в VBA, и у меня есть электронная таблица, в которой я пытаюсь отформатировать текст для выравнивания по правому краю, если значение в ячейке равно «Всего за месяц:». Мне просто нужно, чтобы он работал для Worksheet1 в книге. Если значение в ячейке C3 изменится, я хочу, чтобы код просматривал все ячейки в столбце B и находил любые, равные «Всего за месяц:», и выравнивал по правому краю. Тем не менее, мой код не работает. Когда я изменяю ячейку C3, ничего не происходит.

Мой код выглядит следующим образом:


Dim SrchRng As Range, cel As Range

Set SrchRng = Range("$B1:$B1000")

If Target.Address = "C3" Then

For Each WS In Worksheets  
    With WS
        For Each cel In SrchRng  
            If InStr(1, cel.Value, "Total For The Month: ") > 0 Then  
                cel.HorizontalAlignment = xlRight  
            End If  
        Next cel  
    End With  
    Next WS  

End If

End Sub

1 Ответ

0 голосов
/ 07 января 2020

Поскольку я не знаю, как добавить снимок экрана к комментарию, я решил добавить его в качестве ответа:

Когда вы создаете макрос и хотите быть уверенным, что он будет выполнен ( или выполняется определенная строка), вы можете добавить точку останова в редакторе VBA, как вы можете видеть на этом снимке экрана (просто щелкните левое поле, чтобы добавить точку останова):

enter image description here

Если код должен быть выполнен, редактор VBA останавливается там. Если нет, этот фрагмент кода не выполняется.

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