VBA基于两列做IF AND判断写入第三列代码问题求助
代码存在的问题及修正方案
现存问题
- 条件判断语句中
Sheets("Raw data")被强行拆分为两行,末尾没有加VBA换行接续符_,会直接触发语法报错 - 循环变量大小写不统一:
For语句中使用的是小写i,Next语句后写的是大写I,若开启Option Explicit规则会直接编译报错 - 输出单元格未指定工作表:判断条件读取的是
Raw data表的内容,但赋值用的Cells(i, 7)默认指向当前激活的工作表,若运行时激活页不是Raw data,结果会写入错误位置 - 未声明变量:
Lastrow、i都没有做Dim声明,开启强制变量声明规则后会编译失败,属于不规范写法
修正后代码
Sub FTL_Customer3() Dim Lastrow As Long, i As Long ' 绑定工作表避免重复引用 With Sheets("Raw data") Lastrow = .Range("D" & .Rows.Count).End(xlUp).Row For i = 1 To Lastrow If .Cells(i, 5) = "Postponed to next month" And .Cells(i, 13) = "ATP Ship date after EOM" Then .Cells(i, 7).Value = "OK" End If Next i End With End Sub
内容的提问来源于stack exchange,提问作者Hodler
相关产品推荐
相关产品推荐

