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

VBA使用IF Else判断时如何设置单元格货币格式与文本颜色

实现代码

以下是修改后覆盖所有需求的完整VBA代码:

Sub SplitUp()
    ' 关闭屏幕刷新提升运行速度
    Application.ScreenUpdating = False
    
    For i = 8 To 200                                   
        If Cells(i, 2).Value = "supplier" Then    
            Cells(i, 11) = Cells(i, 13) * Cells(i, 4)
            ' 设置对应K列单元格文本为红色
            Cells(i, 11).Font.Color = vbRed
            ' 设置为人民币货币格式,如需其他币种可替换货币符号
            Cells(i, 11).NumberFormat = "¥#,##0.00"
          
        ElseIf Cells(i, 2).Value = "manufacture" Then
            Cells(i, 10) = Cells(i, 13) * Cells(i, 4)
        End If
    Next i
    
    ' 在遍历范围下一行放置K列合计值
    Cells(201, 11).Formula = "=SUM(K8:K200)"
    ' 合计值同步设置为货币格式
    Cells(201, 11).NumberFormat = "¥#,##0.00"
    ' 可选:合计行左侧加标注说明
    Cells(201, 12) = "K列合计"
    
    ' 恢复屏幕刷新
    Application.ScreenUpdating = True
End Sub

逻辑说明

  • 匹配到supplier写入K列数值后,新增两行代码分别实现字体标红、货币格式设置,可根据需求调整货币符号、小数位数
  • 循环结束后在遍历范围的下一行(201行)写入K列求和公式,合计值也同步设置了统一的货币格式,如需调整合计位置直接修改行号参数即可
  • 额外优化了原代码的嵌套If结构,增加屏幕刷新开关避免运行时界面卡顿

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:45:04