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

VBA中If语句内Cells(cont,3).Value=esp2&CANTIDAD无法执行求助

问题排查与修复

你的代码里最后一条Cells(cont, 3).Value = esp2 & CANTIDAD永远无法执行,核心原因是条件判断的顺序逻辑错误:

  • 当CANTIDAD大于99时,它必然满足第一个条件CANTIDAD > 9,程序会直接执行第一个分支的代码,根本不会走到第三个ElseIf判断。
  • 第二个ElseIf CANTIDAD <=9已经覆盖了所有不满足第一个条件的情况,第三个条件完全没有触发的机会。

修正后的代码

调整条件判断的顺序,把范围更严格的条件放在前面:

CANTIDAD = Sheets("Hoja1").Cells(cont, 2)

If CANTIDAD > 99 Then
    Cells(cont, 3).Value = esp2 & CANTIDAD
ElseIf CANTIDAD > 9 Then
    Cells(cont, 3).Value = esp & CANTIDAD
Else
    Cells(cont, 3).Value = esp1 & CANTIDAD
End If

说明:

  • 先判断>99的情况,确保这类数值会进入对应的分支
  • 再判断>9的情况(此时剩下的数值是10到99之间)
  • 最后用Else处理所有<=9的情况,比原来的ElseIf更简洁严谨

内容的提问来源于stack exchange,提问作者DIEGO ALDAY

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 21:12:37