我有一个工作表,其中包含大量的工作表,并且每个包含一些具有特定背景颜色的行 是否可以删除具有特定颜色的所有单元格或行的背景颜色(黄色在工作表中的我的情况)的背景删除背景颜色,如果颜色是黄色excel
-1
A
回答
0
是的,它是可能的。您必须检查特定范围的Range.Interior.Color值。在VBA中,这看起来是这样的:
If ActiveWorksheet.Range("A1").Interior.Color = RGB(255,255,0) Then
'Do something
End If
RGB(255,255,0)
在这种情况下是黄色的。您也可以使用其他所有值。见RGB Function。要删除的颜色使用这样的:
Range("A1").Interior.Pattern = xlNone
如果您需要进一步的帮助,请提供更详细的信息,关于您的问题和/或发表评论。
您可能还想看看这些链接:Range.Interior,Interior.Color。
编辑:根据您的示例数据,您可能想要从列“E”,“F”,“G”和“H”中的各个工作表中删除绿色着色。绿色的RGB是RGB(146,208,80)
。此代码应该做的工作:
Sub removeColor()
Dim lastRow As Long
Dim ws As Worksheet
Dim i As Long
Dim color As Long
color = RGB(146, 208, 80)
For Each ws In ThisWorkbook.Worksheets
lastRow = ws.Range("A65536").End(xlUp).Row
For i = 3 To lastRow
If ws.Range("E" & i).Interior.color = color Then
ws.Range("E" & i).Interior.Pattern = xlNone
End If
If ws.Range("F" & i).Interior.color = color Then
ws.Range("F" & i).Interior.Pattern = xlNone
End If
If ws.Range("G" & i).Interior.color = color Then
ws.Range("G" & i).Interior.Pattern = xlNone
End If
If ws.Range("H" & i).Interior.color = color Then
ws.Range("H" & i).Interior.Pattern = xlNone
End If
Next i
Next ws
End Sub
编辑:如果你要检查所有的细胞来进行颜色使用:
Sub removeColor()
Dim ws As Worksheet
Dim cell as Range
Dim color As Long
color = RGB(146, 208, 80)
For Each ws In ThisWorkbook.Worksheets
For Each cell in ws.UsedRange
If cell.Interior.Color = color Then
cell.Interior.Pattern = xlNone
End If
Next cell
Next ws
End Sub
0
这可能会解决您选择的问题:
For i = 1 To Sheets.Count
On Error GoTo nex:
Sheets(i).Activate
For j = 1 To ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious).Row
For k = 1 To ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, LookIn:=xlValues, SearchDirection:=xlPrevious).Column
'65535 equals yellow
'5296274 equals green
If ActiveSheet.Cells(j, k).Interior.Color = 65535 Then ActiveSheet.Cells(j, k).Interior.Pattern = xlNone
Next
Next
nex:
Next
的循环遍历所有工作表并在所有使用的单元格中查找背景色。
要获得代表一种颜色,你可以只是颜色A1中所需的颜色和运行下面的代码数量:
MsgBox (ActiveSheet.Cells(1, 1).Interior.Color)
希望我能帮上忙。
相关问题
- 1. 删除背景颜色
- 2. 如何删除背景颜色(PowerShell)
- 3. 背景颜色
- 4. 背景颜色
- 5. 背景颜色
- 6. 背景颜色
- 7. 颜色背景
- 8. 颜色为背景色
- 9. 背景颜色不褪色
- 10. jquery背景颜色效果
- 11. UIActionsheet背景清除颜色
- 12. 记住背景颜色/颜色与Cookie
- 13. 配置颜色/背景颜色CSS
- 14. Twitter Bootstrap背景颜色/容器颜色
- 15. 过渡颜色与背景颜色
- 16. CSS3PIE背景褪色背景颜色
- 17. 快板4.2.1,删除BMP背景颜色
- 18. NSAnimation删除按钮的背景颜色
- 19. Float似乎删除背景颜色
- 20. 删除谷歌地图背景颜色
- 21. jQuery动画背景颜色。删除Math.random
- 22. 如何改变背景颜色和背景颜色?
- 23. 如何在JavaScript中获取“背景颜色:背景”颜色?
- 24. 背景或背景颜色?
- 25. ListView背景颜色不是白色
- 26. 背景颜色50%一种颜色和50%另一种颜色
- 27. backgroundColor不是背景颜色
- 28. Uipicker背景颜色
- 29. NSImageView +背景颜色
- 30. DBVisualizer背景颜色
更好的选择没有VBA与查找和替换https://www.extendoffice.com/documents/excel/2746-excel-find-and-replace-fill-color.html#a1 – Slai
是的Slai,它的工作,由远远好于vba选项 – khalil