首页 > 解决方案 > VBA检查范围内的单元格是否为红色然后退出子

问题描述

我正在尝试创建一个宏来检查一个范围,如果一个单元格被格式化为红色(基于条件格式)然后停止子......否则继续。

Sub O_Upload()

' Keyboard Shortcut: Ctrl+Shift+U

Dim Wb1 As Workbook, ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, 
wbactive As Workbook, wsactive As Worksheet, lstrow As Long
Set Wb1 = Workbooks("spreadsheet.xlsx")
Set ws1 = Wb1.Sheets("Stage 1 Trim")
Set ws2 = Wb1.Sheets("Stage 2 Data Validation")
Set ws3 = Wb1.Sheets("_1010u Sheet")
Set wbactive = ActiveWorkbook
Set wsactive = wbactive.Sheets("Data")

wsactive.range("B10").Select
lstrow = Selection.End(xlDown).Row

wsactive.range("A10:V" & lstrow).Copy Destination:=ws1.range("A4")
ws1.range("X4:AS" & lstrow).Copy
ws2.range("A3").PasteSpecial xlPasteValues

'add red validation check
'if red stop
'if green copy to ws3
Dim cel As range
For Each cel In ws2.range("A3:V" & lstrow)
 If cel.Interior.Color = RGB(255, 0, 0) Then
  MsgBox ("Data contains errors!"), vbOKOnly
Exit Sub
End If
Next

ws2.range("A3:V" & lstrow).Copy
ws3.range("B13").PasteSpecial xlPasteValues
MsgBox "Data is ready to be uploaded", vbOKOnly


End Sub

我遇到的错误在线 -For Each cel In ws2.range("A3:V" & lstrow) 我感谢您的帮助。

标签: vbaexcel

解决方案


将我的其他答案归因 于详细信息。

请替换代码

cel.Interior.Color

有了这个:

cel.DisplayFormat.Interior.Color

推荐阅读