对于excel编程来说相当新,并且尝试了一些陈述和条件。我有一张excel表格,格式如下:
Col. A Col. B Col. C
03 1 1
02 0 0
我们要努力实现的是,如果A栏有03(最后应添加一个新栏目),请说“Comm'否则它应该说' Retail'。我现在有以下代码:
For Each rngCell in Range("O:O")
If rngCell.value = "03"
rngCell.value = "Comm"
Else
rngCell.value = "Retail"
End If
Next
有人可以帮我处理代码吗?
代码已更新
答案 0 :(得分:0)
你肯定是在正确的轨道上。我建议您在FOR EACH
循环中指定您正在迭代的范围的属性是.cells
集合,如:
For Each rngCell in Range("O:O").Cells
我相信这是"默认"在这种背景下的财产,但它比对不起更安全,因为Ranges也有" Area"然后有了Cell,你可能有一天会在错误的事情上进行迭代。
要根据您所在的单元格/范围设置其他单元格的值,可以使用offset:
For Each rngCell in Range("O:O")
If rngCell.value = "03"
rngCell.offset(0,3).value = "Comm"
Else
rngCell.offset(0,3).value = "Retail"
End If
Next
你也可以参考rngCell的行并提供你自己的专栏:
For Each rngCell in Range("O:O")
If rngCell.value = "03"
Range("R" & rngCell.Row).value = "Comm"
Else
Range("R" & rngCell.Row).value = "Retail"
End If
Next