Изменять размер шрифта всякий раз, когда определенное значение вводится в диапазон - PullRequest
0 голосов
/ 25 апреля 2018

Моя проблема довольно проста: у меня есть диапазон ячеек в Excel, где пользователь может ввести любое значение от 3 до 11. У меня уже есть макрос, который запускается всякий раз, когда на моем листе вводятся 3 или 11спектр.Однако я хотел бы иметь второй макрос, который срабатывает только при вводе 11, чтобы автоматически увеличивать размер шрифта с 11 до 12.

Вот что я пытаюсь сделать:

Sub Increase_Character_Size(ByVal Target As Range)

If (Target.Column >= 7 And Target.Column <= 16) Or (Target.Column >= 17 And Target.Column <= 26) And Len(Target.Value) > 0 Then
    If Target.Value = 11 Then
        Cells(Target.Row, Target.Column).Font.Size = 12
    Else
        Cells(Target.Row, Target.Column).Font.Size = 11
    End If
End If

End Sub

Однако, похоже, это никак не влияет.Какие-либо предложения?Заранее спасибо!

Примечание: я довольно новичок в кодировании Font.Size, поэтому прости гротескные ошибки здесь!

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Поместите код в модуль Sheet, событие Worksheet_Change():


Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If Val(.Value) = 11 And .CountLarge = 1 Then
            If .Column >= 7 And .Column <= 26 Then .Font.Size = 12
        End If
    End With
End Sub

Или добавьте действие к Worksheet_Change(), если оно уже имеет другие действия

0 голосов
/ 25 апреля 2018

Cells(1,1).Font.Size = 12 работает мгновенно в моем Excel.Может быть, вы меняете неправильную ячейку или условия в if неверны?

Используете ли вы специальное мероприятие, чтобы делать то, что вы хотите сделать?Что-то вроде: Private Sub Worksheet_Change(ByVal Target as Range)?

...