[英]Set value in each parameter VBA excel
例
欄位:
A B C
A001 OK
A002 OK
A003 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 OK
A004 NO
A004 OK
A004 OK
A004 OK
A004 OK
A006 OK
A007 OK
A008 OK
A010 OK
A010 OK
A015 OK
A015 NO
我想檢查A列和B列的值。如果B列的值為“ OK”,則該參數中的C列的值為“ OK”,但是如果每個副本參數中只有“ NO”,則所有復制參數的值均為“ NO”在C列中。我正在使用以下代碼。
for i= 1 to 100
If Cells(i,1).value="A001" and cells(i,2).value="OK" then
Cells(i,3).value "OK"
end if
next i
但這在C列中沒有值
我應該怎么做?
我建議為此使用公式。 所以你可以使用
=IF(AND(A1="A001",B1="OK"),"OK","")
現在回答您的問題...
這可能是因為您缺少“ =“登錄Cells(i,3).Value "OK"
這可能是因為您要寫入的工作表可能沒有激活? 因此,您應該始終限定對象。 類似於ThisWorkbook.Sheets("Sheet1").Cells(i,1)
這樣的代碼
碼
For i = 1 To 100 With ThisWorkbook.Sheets("Sheet1") If .Cells(i, 1).Value = "A001" And .Cells(i, 2).Value = "OK" Then .Cells(i, 3).Value = "OK" End If End With Next i
如果仍然不起作用,則Col A和Col B的文本中可能有空格。您可能需要將上面的代碼修改為此
碼
For i = 1 To 100 With ThisWorkbook.Sheets("Sheet1") If UCase(Trim(.Cells(i, 1).Value)) = "A001" And UCase(Trim(.Cells(i, 2).Value)) = "OK" Then .Cells(i, 3).Value = "OK" End If End With Next i
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.