Vba 通过宏在整个工作表上设置条件格式
我需要你的帮助。在我的电子表格中有一个宏,当激活时,它会测试整个数据集中的单元格颜色是否为粉红色。如果找到一个,则第一个单元格标记为粉红色,提醒我在特定行的某处有一个粉红色单元格 一旦我注意到粉红色的单元格,我会再次将其标记为透明,然后转到下一个单元格 我需要在下面的工作代码中添加一个测试,看看是否没有粉红色。。即 如果单元格A9是粉红色的,则表示第9行的某个地方有一个粉红色。我需要检查它是否仍然存在,如果没有使A9透明 下面的代码是将A9标记为粉红色的代码(根据上面的示例) 代码: 要运行场景,请执行以下操作: 第1行是标题,被排除在外,A列是标记为粉色的列 B8是粉红色的,因此当宏运行时,A8是粉红色的,D14是粉红色的,因此A14是粉红色的,A18是粉红色的,但第18行中没有更多的粉红色,因此A18是透明的,等等Vba 通过宏在整个工作表上设置条件格式,vba,excel,Vba,Excel,我需要你的帮助。在我的电子表格中有一个宏,当激活时,它会测试整个数据集中的单元格颜色是否为粉红色。如果找到一个,则第一个单元格标记为粉红色,提醒我在特定行的某处有一个粉红色单元格 一旦我注意到粉红色的单元格,我会再次将其标记为透明,然后转到下一个单元格 我需要在下面的工作代码中添加一个测试,看看是否没有粉红色。。即 如果单元格A9是粉红色的,则表示第9行的某个地方有一个粉红色。我需要检查它是否仍然存在,如果没有使A9透明 下面的代码是将A9标记为粉红色的代码(根据上面的示例) 代码: 要运行场景
有什么建议吗?您可以运行下面的透明过程。如果A列中没有粉红色的单元格,它将使A列中的单元格透明
Sub transparent()
Dim lastRow As Long, rcell As Range, blnRed As Boolean
lastRow = ActiveSheet.UsedRange.Rows.Count
For i = 1 To lastRow
If Cells(i, 1).Interior.ColorIndex = 38 Then
For Each rcell In Range(Cells(i, 2), Cells(i, ActiveSheet.UsedRange.Columns.Count))
If rcell.Interior.ColorIndex = 38 Then
blnRed = True
Exit For
Else
blnRed = False
End If
Next
If blnRed = False Then
Cells(i, 1).Interior.Pattern = xlNone
End If
End If
Next
End Sub
您可以运行下面的透明过程。如果
列A
中没有粉红色单元格,则该过程将使该行中的单元格透明
Sub transparent()
Dim lastRow As Long, rcell As Range, blnRed As Boolean
lastRow = ActiveSheet.UsedRange.Rows.Count
For i = 1 To lastRow
If Cells(i, 1).Interior.ColorIndex = 38 Then
For Each rcell In Range(Cells(i, 2), Cells(i, ActiveSheet.UsedRange.Columns.Count))
If rcell.Interior.ColorIndex = 38 Then
blnRed = True
Exit For
Else
blnRed = False
End If
Next
If blnRed = False Then
Cells(i, 1).Interior.Pattern = xlNone
End If
End If
Next
End Sub