下一个发票号码,并保存副本为Excel或PDF格式

我试图让我的Excel发票生成下一个发票号码,并保存发票的副本,当一个button按下的文件。 我使用这个链接: https : //www.youtube.com/watch?v=Tj_Ce7LS1Ok和几个论坛,但它不工作。

我将此代码分配给在Excel中创build的button:

Sub NextInvoice() Range("E5").Value = Range("E5").Value + 1 End Sub Sub SaveInvWithNewName() Dim NewFN As Variant ' Copy Invoice to a new workbook ActiveSheet.Copy NewFW = "C:\Users\Jessica\Desktop\Grow Work\Invoices\Inv" & Range("E5").Value & ".xlsx" ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook ActiveWorkbook.Close NextInvoice End Sub 

它说:“运行时错误'1004'”当我按下button。 发票号码将会改变,但是当一个副本试图保存时发生错误。

我使用了相同的代码。 我发现由于合并单元格的问题。 我没有把单元格拆开,修改了我的表单。 一旦我删除了合并的单元格,这一切都很好。

我最初有同样的问题,并发现我已经合并单元格,造成问题,我修复指定合并的单元格,并修复问题。 我看到这是一个旧的post,但我在发票中使用相同的代码,它完美地工作。 我已经设置打印两份,“另存为”XLSX副本提供簿记冗余,清除内容和提前发票号码,然后用新号码保存新的“空”发票。 这是我的编码,随意使用你想要的任何部分。

  Sub NewInvoice() Range("E3").Value = Range("E3").Value + 1 Range("C5:C6").ClearContents Range("E5:F6").ClearContents Range("B7:C12").ClearContents Range("E7:F12").ClearContents Range("A14:E23").ClearContents Range("A25:E36").ClearContents End Sub Sub SaveInvWithNewName() Dim NewFN As Variant ' Copy Invoice to a new workbook ActiveSheet.Copy NewFN = "E:\Bee Lick Gunworks LLC\Customer Invoices\" & Range("E3").Value & ".xlsx" ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook Print2 ActiveWorkbook.Close NewInvoice ActiveWorkbook.Save End Sub Sub Print2() For I = 1 To 2 ActiveSheet.PrintOut Next I End Sub 

指定的单元格是特定于我的发票,更改它们以匹配您的发票。 即“E3”是我的发票号码,“C5:C6”和“E5”F6“是date,”B7:C12“是客户人口统计等。

我已经创build了一个形状,并分配了“SaveInvWithNewName”macros,点击一个button,然后去…

最好的祝福,格雷格