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

Excel宏VBA实现带固定前缀的发票号自动递增需求

修改后的VBA代码实现带前缀的发票号递增
Sub CreateNewInvoice()
    Const PREFIX As String = "TN2425YP" ' 固定前缀
    Dim currentInv As String
    Dim invNum As Long
    
    ' 获取当前发票号,处理空值情况(首次使用默认从1开始)
    currentInv = Trim(Range("C3").Value)
    If currentInv = "" Then
        invNum = 1
    Else
        ' 提取前缀后的数字部分并转换为数值
        invNum = CLng(Replace(currentInv, PREFIX, ""))
    End If
    
    ' 清空指定单元格内容
    Range("C4:D4,C8:D8,B11:C11,B20:G36").ClearContents
    
    ' 计算并显示下一个发票号
    Dim nextInv As String
    nextInv = PREFIX & (invNum + 1)
    MsgBox "Your next invoice number is " & nextInv ' 修正原拼写错误inovince→invoice
    
    ' 更新发票号并保存工作簿
    Range("C3").Value = nextInv
    Range("B11").Select
    ThisWorkbook.Save
End Sub

关键修改说明

  • 新增Const PREFIX As String定义固定前缀,方便后续统一修改前缀内容
  • 处理C3单元格为空的场景,首次使用自动从TN2425YP1开始生成发票号
  • 通过Replace函数剥离前缀,提取数字部分进行递增计算,再重新拼接前缀生成新发票号
  • 修正了原代码中MsgBox里的拼写错误(inovince改为invoice)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 19:44:55