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

如何修改VBA代码按星号数量替换值:*=5、**=10、*****=50

修正后的星号替换VBA代码

问题说明

原代码逻辑完全错误:只判断单元格内容不等于5个星号就把值改成50,完全没处理单个星号、两个星号的情况,导致所有单元格都被错误设为50。

修正后的代码

Sub FillTitle()
    Dim lrow As Long
    Dim rng As Range
    
    ' 获取E列最后一行有数据的行号
    lrow = Cells(Rows.Count, "E").End(xlUp).Row
    
    ' 遍历E2到最后一行的所有单元格
    For Each rng In Range("E2:E" & lrow)
        Select Case rng.Value
            Case "*****"
                rng.Value = 50
            Case "**"
                rng.Value = 10
            Case "*"
                rng.Value = 5
            ' 可选:如果需要处理非星号内容,取消下面注释并修改逻辑
            ' Case Else
            '     rng.Value = "无效内容"
        End Select
    Next rng
End Sub

代码解释

  • 用Select Case分支精准匹配不同星号数量的内容,先判断多星号(避免少星号被误匹配)
  • 严格对应需求:5个星→50,2个星→10,1个星→5
  • 保留了Case Else分支,可按需处理非星号格式的单元格内容,默认保留原内容

对应表格截图

测试表格截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:35:04