Ну, мне любопытно, почему этот макрос не работает.

Макрос должен работать так У меня есть ячейка с черным фоном и черным текстом. Предполагается, что после нажатия на макрос фон этой ячейки должен стать белым.

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

У меня есть около 25 ячеек, с которыми я хочу, чтобы это произошло, но я хочу, чтобы у них был свой собственный макрос. Поэтому всякий раз, когда в коде макроса нужно упомянуть имя ячейки, просто добавьте что-то вроде «C /L» (местоположение ячейки) или что-то еще, просто чтобы сказать мне.

Вся помощь приветствуется. :)

Вот неправильный код макроса, который я использую:

Sub CaseOpen1()
'
' CaseOpen1 Macro
'

'
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

Еще раз, вся помощь оценена. :)

1 ответ1

1

"With Selection" в вашем коде заставляет его работать с выделенной (выбранной) ячейкой. Вместо этого вам нужно объявить, в какой ячейке вы хотите, чтобы макрос работал.

Sub CaseOpen1()
'
' CaseOpen1 Macro
'
    Dim rng As Range                   '// declare 'rng' as variable of type Range
    Set rng = ActiveSheet.Range("A1")  '// assign the cell to be acted on to 'rng'
    With rng.Interior                  '// change color of 'rng' rather than Selection
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .