Sub colorcells()
Dim cell As Range
For Each cell In Range("Range1")
If InStr(cell.Value, "Person1") > 0 Then
cell.Interior.Color = XlRgbColor.rgbSienna
ElseIf InStr(cell.Value, "") > 0 Then
cell.Interior.Color = XlRgbColor.rgbLightGrey
ElseIf InStr(cell.Value, "") = 0 Then
cell.Interior.Color = XlRgbColor.rgbWhite
End If
Next cell
End Sub
您好,
如果没有颜色,代码中的最后一个函数会清除我的单元格。我想添加合并单元格(因为我使用多个彩色单元格)并将所有边框应用于单元格。
我尝试了一些,但它没有工作,可能是因为我无法使用Dim cell As Range
来合并它们。
谢谢您的帮助。
感谢您的回答。我无法解释清楚。我希望在此之后合并单元格
ElseIf InStr(cell.Value, "") = 0 Then
cell.Interior.Color = XlRgbColor.rgbWhite
我想做的是清洁。如果没有字符串,我的代码会使单元格变为白色。然后我需要它也合并没有字符串值的单元格。
答案 0 :(得分:0)
对于你可能想要达到的目标,我也有点模糊。你提供的代码似乎对我来说很好。然而,如果你想稍微区别对待合并的单元格,那么下面的代码改编可能会有所帮助:
Sub colorcells()
Dim cell As Range
For Each cell In Range("Range1")
If cell.Address = cell.MergeArea.Cells(1, 1).Address And cell.MergeArea.Cells.Count > 1 Then
Debug.Print "Here is a merged cell range starting (top left corner): " & cell.Address
cell.Interior.Color = XlRgbColor.rgbRed
Else
If InStr(cell.Value, "Person1") > 0 Then
cell.Interior.Color = XlRgbColor.rgbSienna
ElseIf InStr(cell.Value, "") > 0 Then
cell.Interior.Color = XlRgbColor.rgbLightGrey
ElseIf InStr(cell.Value, "") = 0 Then
cell.Interior.Color = XlRgbColor.rgbWhite
End If
End If
Next cell
End Sub