着色一系列细胞(VBA)

时间:2018-06-03 18:27:20

标签: excel vba excel-vba

我有一个检查特定列的代码。如果该特定列(第21列)为FALSE,那么我想仅为该特定行中存在错误的第8,9和10列中的单元格着色。

For i = 9 To LastRow
     If Sheets("Test").Cells(i, 21).Value = "False" Then
     Sheets("Test").Cells(i, 8:10).Font.Color = RGB(255, 0, 0)
     End If
Next i

这不起作用。有没有办法在一行中执行此操作,而不是一次为每个单元格着色?

由于

2 个答案:

答案 0 :(得分:2)

要修改此代码,请更新此行: <script src="{{url_for('static', filename='bundle{}.js'.format(version))}}"></script>

ws.Range(ws.Cells(r, 8), ws.Cells(r, 10)).Font.Color = vbRed

为了更快地使用Option Explicit Public Sub ShowFalse() Dim ws As Worksheet, lr As Long, r As Long Set ws = ThisWorkbook.Worksheets("Test") lr = ws.Cells(ws.Rows.Count, 21).End(xlUp).Row If lr > 8 Then Application.ScreenUpdating = False For r = 9 To lr If Not IsError(ws.Cells(r, 21)) Then If ws.Cells(r, 21).Value = False Then ws.Range(ws.Cells(r, 8), ws.Cells(r, 10)).Font.Color = vbRed End If End If Next Application.ScreenUpdating = True End If End Sub

AutoFilter

答案 1 :(得分:2)

按照我们在评论中的讨论,按照以下步骤在MS Excel中根据其他列的值在选定的单元格,范围或列上应用条件格式。

步骤#01。选择要应用格式的范围(8:10 - H:J)。

步骤#02。单击“主页”选项卡中的“条件格式”。

步骤#03。单击“新规则”,然后选择“使用公式确定要格式化的单元格”

步骤#04。提供以下公式

import numpy as np
a = np.array([1,2,3])

步骤#05。单击“格式”以应用所需的格式,然后单击“确定”。

enter image description here