我已经编写了2个宏来完成这项任务,但我正在努力巩固并提高效率 .
如果列 I 中有值= 1(它将为空或= 1),请查看 G 列
如果 G 列中的值<30或者如果 H 列中的值<0.03那么将第I列中的值覆盖为= "0" ...(如果不是,则不要更改 I 列中的值并继续检查下一个)
范围是 I9:I45000 , G9:G45000 和 H9:H45000 .
我认为有一个简单的解决方案,但几个小时后,我没有受过教育的自己找不到它 .
Module1:
Dim rngCell As Range, _
rngDataRange As Range
Set rngDataRange = Range("G9:G45000")
For Each rngCell In rngDataRange
With rngCell
If .Value < 30 Then
.Offset(0, 2).Value = "0" 'A[rngCell] to C[rngCell]
End If
End With
Next rngCell
End Sub
Module2:
Sub Macro1()
Dim rngCell As Range, _
rngDataRange As Range
Set rngDataRange = Range("H9:H45000")
For Each rngCell In rngDataRange
With rngCell
If .Value < 0.03 Then
.Offset(0, 1).Value = "0" 'A[rngCell] to C[rngCell]
End If
End With
Next rngCell
End Sub
This is the macro I run first.... It puts values in some of the cells in column I (where column C has values less than 1575):
Sub Macro1()Dim rngCell As Range,_ rngDataRange As Range
Set rngdataRange = Range (C9:C45000)
For Each rngCell In rngDataRange
With rngCell
If .Value < 1575 Then
.Offset (0,6).Value="1"
End If
End With
Next rngCell
结束子