You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:15:04