如果 F 列为 =“CRDI”
如果 R 列中的任何数据为“0”
然后 S 列和 T 列也需要为“0”
...但有时这些列具有非零值。如果满足其他两个条件,则只需要提出宏来摆脱非零值。
请帮忙....
我走的路完全正确吗???
Worksheets("EDW_Caxton_Rat_Extract_File_201").Select
Range("A1048576").Select
Selection.End(xlUp).Select
LastRow = ActiveCell.Row - 1
For x = 0 To LastRow
If Range("F2").Offset(x, 0).Value = "CRDI" And Range("R2").Offset(x, 0) = 0 _
And Range("T2").Offset(x, 0) <> 0 Then
Range("T2").Offset(x, 0) = 0
x = x - 1
Next x
End If
答案1
这实现了您在评论中描述的内容:
- 筛选第 6 列 (F) 上的“CRDI”
- 筛选第 18 列 (R) 上的“0”
- 将 S 列和 T 列中的(可见)值设置为“0”(不包括标题行)
Option Explicit
Public Sub setZeroes()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
.AutoFilter
.AutoFilter Field:=6, Criteria1:="CRDI"
.AutoFilter Field:=18, Criteria1:="0"
.Range("S" & .Row + 1 & ":T" & .Rows.Count).Value2 = 0
.AutoFilter
End With
Application.ScreenUpdating = True
End Sub