为什么此宏在 Excel 2010 中不能正常工作?

为什么此宏在 Excel 2010 中不能正常工作?

嗯,我很好奇为什么这个宏不起作用。

宏应该像这样工作。我有一个单元格,背景和文本都是黑色的。应该发生的是,单击宏后,该单元格的背景应该变为白色。

当我记录这个宏时,发生的情况是,当我单击这个宏时,任何被突出显示的单元格都会获得白色背景,而不是那个特定的单元格。

我有大约 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

代码中的“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 

相关内容