Excel 选择一系列单元格并为其背景上色

Excel 选择一系列单元格并为其背景上色,excel,vba,Excel,Vba,我有一个项目,工作人员是红色,琥珀色或绿色取决于他们的表现。结果将复制到另一个工作表中,该工作表列出并编译结果 当工作人员去度假时,我想把牢房的背景涂成灰色 我想在一行中选择一个单元格范围,并想按一个按钮,自动将所有这些单元格的背景涂成灰色 这就是我现在想到的 Sub Macro1() ActiveCell.CurrentRegion.Select For Each cell In Selection With Selection.Interior .Patter

我有一个项目,工作人员是红色,琥珀色或绿色取决于他们的表现。结果将复制到另一个工作表中,该工作表列出并编译结果

当工作人员去度假时,我想把牢房的背景涂成灰色

我想在一行中选择一个单元格范围,并想按一个按钮,自动将所有这些单元格的背景涂成灰色

这就是我现在想到的

Sub Macro1()
ActiveCell.CurrentRegion.Select
    For Each cell In Selection
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -0.249946592608417
        .PatternTintAndShade = 0      
    End With
    Next cell End Sub
我试着在一系列细胞中循环,给每一个细胞着色,但只给活跃的细胞着色

所以我想在一行中选择一系列的单元格,并想按一个按钮,自动将所有单元格的背景颜色变为灰色

如果您只想将选定的单元格染成灰色,那么这将是您想要的

Sub Sample()
    '~~> Check if what the user selected is a valid range
    If TypeName(Selection) <> "Range" Then
        MsgBox "Select a range first."
        Exit Sub
    End If

    Selection.Interior.ColorIndex = 48
End Sub
子样本()
“~~>检查用户选择的范围是否有效
如果TypeName(选择)“范围”,则
MsgBox“首先选择一个范围。”
出口接头
如果结束
Selection.Interior.ColorIndex=48
端接头
所以我想在一行中选择一系列的单元格,并想按一个按钮,自动将所有单元格的背景颜色变为灰色

如果您只想将选定的单元格染成灰色,那么这将是您想要的

Sub Sample()
    '~~> Check if what the user selected is a valid range
    If TypeName(Selection) <> "Range" Then
        MsgBox "Select a range first."
        Exit Sub
    End If

    Selection.Interior.ColorIndex = 48
End Sub
子样本()
“~~>检查用户选择的范围是否有效
如果TypeName(选择)“范围”,则
MsgBox“首先选择一个范围。”
出口接头
如果结束
Selection.Interior.ColorIndex=48
端接头
所以我想在一行中选择一系列的单元格,并想按一个按钮,自动将所有单元格的背景颜色变为灰色

如果您只想将选定的单元格染成灰色,那么这将是您想要的

Sub Sample()
    '~~> Check if what the user selected is a valid range
    If TypeName(Selection) <> "Range" Then
        MsgBox "Select a range first."
        Exit Sub
    End If

    Selection.Interior.ColorIndex = 48
End Sub
子样本()
“~~>检查用户选择的范围是否有效
如果TypeName(选择)“范围”,则
MsgBox“首先选择一个范围。”
出口接头
如果结束
Selection.Interior.ColorIndex=48
端接头
所以我想在一行中选择一系列的单元格,并想按一个按钮,自动将所有单元格的背景颜色变为灰色

如果您只想将选定的单元格染成灰色,那么这将是您想要的

Sub Sample()
    '~~> Check if what the user selected is a valid range
    If TypeName(Selection) <> "Range" Then
        MsgBox "Select a range first."
        Exit Sub
    End If

    Selection.Interior.ColorIndex = 48
End Sub
子样本()
“~~>检查用户选择的范围是否有效
如果TypeName(选择)“范围”,则
MsgBox“首先选择一个范围。”
出口接头
如果结束
Selection.Interior.ColorIndex=48
端接头
如果删除activecell.select,它也可以工作

如果删除activecell.select,它也可以工作

如果删除activecell.select,它也可以工作


如果删除activecell.select也可以

当您可以一次性对所有单元格进行着色时,为什么需要对每个单元格进行循环?当您可以一次性对所有单元格进行着色时,为什么需要对每个单元格进行循环?当您可以一次性对所有单元格进行着色时,为什么需要对每个单元格进行循环?为什么需要对每个单元格进行循环当您可以一次为所有的单元格着色时?如果您有选择,为什么不直接从主功能区设置单元格颜色?如果您有选择,为什么不直接从主功能区设置单元格颜色?如果您有选择,为什么不直接从主功能区设置单元格颜色?如果您有选择,为什么不直接从主功能区设置单元格颜色?