VBA 工作表A中AT.>0,BB列为空的标出红色
时间: 2024-02-27 09:57:51 浏览: 19
以下是 VBA 代码,可以实现在工作表 A 中将 AT 列大于 0 且 BB 列为空的单元格标为红色:
```VBA
Sub HighlightCells()
Dim lastRow As Long
Dim i As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("A") '将“A”替换为你的工作表名称
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row '获取最后一行
For i = 1 To lastRow
If ws.Cells(i, "AT").Value > 0 And ws.Cells(i, "BB").Value = "" Then
ws.Cells(i, "AT").Interior.Color = vbRed '将符合条件的单元格标为红色
End If
Next i
End Sub
```
将代码复制到 VBA 编辑器中,按 F5 运行即可。
相关问题
选择工作表A中如果AT列>0且BB列日期类型不等于今年的把AU、AV列清空
您好!根据您的问题,您需要使用Excel的VBA代码来实现所需的操作。您可以按照以下步骤进行操作:
1. 打开您需要操作的Excel文件,按下“Alt + F11”键,打开VBA编辑器;
2. 在VBA编辑器中,选择您需要操作的工作簿,右键单击,在弹出的菜单中选择“插入”->“模块”;
3. 在新建的模块中,输入以下代码:
```
Sub ClearColumns()
Dim lastRow As Long
Dim i As Long
lastRow = Worksheets("A").Cells(Rows.Count, "AT").End(xlUp).Row
For i = 2 To lastRow
If Worksheets("A").Cells(i, "AT").Value > 0 And Year(Worksheets("A").Cells(i, "BB").Value) <> Year(Date) Then
Worksheets("A").Cells(i, "AU").ClearContents
Worksheets("A").Cells(i, "AV").ClearContents
End If
Next i
End Sub
```
4. 修改代码中的“Worksheets("A")”为您需要操作的工作表的名称;
5. 执行代码,方法是在VBA编辑器中按下“F5”键,或者在Excel中按下“Alt + F8”键,选择“ClearColumns”并单击“运行”按钮。
注意事项:
1. 在执行代码前,请务必备份您的Excel文件;
2. 代码中的“AT”和“BB”列需要根据您的实际需求进行修改;
3. 如果您需要在其他条件下清空列,请修改代码中的if语句的条件部分。
vba 如果sheet4表的AN>0 则sheet10表A12单元格内容为正确
可以使用以下VBA代码来实现你的需求:
```vba
If Sheets("Sheet4").Range("AN1").Value > 0 Then
Sheets("Sheet10").Range("A12").Value = "正确"
End If
```
这段代码会检查Sheet4表中AN列的第一个单元格的值是否大于0,如果是,则会将Sheet10表中A12单元格的内容设置为"正确"。你可以根据需要修改Sheet名称和单元格位置。