我有2个工作簿 - 数据文件(表:安得拉邦)&发票文件(在最后一张发票之后添加的新发票)。VBA复制数据将数据复制到基于标准的新工作簿
我想使用数据工作簿中的数据透视表在发票工作簿中创建发票。每发票1个采购订单号。
例如:行9B DO3566521将被复制到一个新的发票300在发票工作簿包含以下信息:
- 订单结束日期(A9)被复制到I16
- 订单号DO666( B9)被复制到B31,
- 订单ID 1234(C9)被拷贝到A34,
- 规格名称 - 3项(E9:E11)被复制到B34:B36,
- 发票数量( F9:F11)复制到G34:G36中,
发票金额(G9:G11)被复制到I34:36
PO号DO667(B12)应该被复制到另一新的发票301(一个新的工作表301在发票工作簿中添加)。 ..
我可以拿到发票簿添加/复制一个新的工作,但我有过数据&写循环功能麻烦复制。如果它是不同的采购订单,如何创建新的发票?任何帮助将非常感激!!
顺便说一句,我也有一个宏(Sub Get_Spelling()
)将数字转换成发票工作表(A55)中的单词。只是想知道如何将它们加入到一起,以便在创建发票时自动更新它们。
数据簿 - 工作表名称:安得拉邦
A9 B9 C9 D9 E9 F9 G9
Order Closed Date PO Number Order ID Item Index Spec Name Qty Invoice Amt
15/09/11 DO666 1234 1 A 10 $100
2 B 20 $200
3 C 30 $300
DO667 567 1 L 40 $100
2 K 50 $200
发票簿 - 工作表名称:发票号码(如INV 300)
B31
PO Number DO666
A34 B34 G34 I34
Order ID Spec Name Qty Invoice Amt
1234 A 10 $100
B 20 $200
C 30 $300
Invoice 301
B31
PO Number: DO667
这里是我的代码:
Option Explicit
Sub Create_Invoice()
Dim oldsheet As Worksheet
Dim newSheet As Worksheet
Dim oldnumber As Integer
Dim newnumber As Integer
Dim databook As Workbook
Dim datasheet As Worksheet
Dim invbook As Workbook
Set databook = ActiveWorkbook
Set invbook = ActiveWorkbook
Application.Workbooks.Open ("C:\Users\Owner\Desktop\New folder\AP VAT Inv 201 -.xls")
'Set invbook = ActiveWorkbook
oldnumber = ActiveSheet.Name
newnumber = oldnumber + 1
ActiveSheet.Copy After:=ActiveWorkbook.ActiveSheet
Set newSheet = ActiveSheet
ActiveSheet.Name = newnumber
ActiveSheet.Range("I15").Value = newnumber
ActiveSheet.Range("I16") = databook.Sheets("Andhra Pradesh").Range("A9")
MsgBox "Invoices have been created successfully"
ActiveWorkbook.Save
End Sub