【发布时间】:2025-12-26 15:45:12
【问题描述】:
如果 A 列包含“RR”且 C 列不等于“备忘录”且 E 列不等于“Air”或“Printed”,则列 L=0。
然后后跟如果 A 列包含“RR”且 C 列不等于“备忘录”且 E 列等于“Air”或“Printed”,则 L= 列是 H*.1 列。
我相信我遇到了等于/不等于的问题。
Sub RRClean()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim myString As String
RowCount = WorksheetFunction.CountA(range("A:A"))
For i = 2 To RowCount
myString = Trim(Cells(i, 2).Value)
If InStr(myString, "RR") > 0 And .cell(i, 3) <> "Memo" And .cell(i, 7) <> "Air" Or .cell(i, 7) <> "Printed" Then
Cells(i, 12).Value = 0
End If
Next
For i = 2 To RowCount
myString = Trim(Cells(i, 2).Value)
If InStr(myString, "RR") > 0 And .cell(i, 3) <> "Memo" And .cell(i, 7) = "Air" Or .cell(i, 7) = "Printed" Then
Cells(i, 12).Value = cell(i, 8) * 0.1
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
不知道为什么要在
cell和.cell之间切换(顺便说一句,你错过了),但是在说cells之后尝试添加.value。 -
1)
cell应该是Cells。 2) 将.放在Cells之前没有With块将不起作用。将With Activesheet放在您的RowCount = ...之前。然后在每个Range或Cells前面加上.。然后在你最后的next之后输入End With。 -
@findwindow 没用,但谢谢
-
@ScottCraner 感谢工作就像一个魅力
-
如果您将鼠标悬停在评论的左侧,您将看到一个向上箭头。很高兴我能帮上忙。花点时间了解为什么需要这样做以及将
.放在函数之前意味着什么