发票Excel宏的数据

时间:2014-01-16 21:22:22

标签: excel excel-vba invoices vba

我在去年的最后一次手动完成这些操作,并希望能获得一些关于如何使用Excel更好地执行此操作的帮助和指导

第1页

Client Name | SKU  | Description | Oct Qyt | Oct fee | Nov Qty | Nov Fee | Dec Qty | Dec Fee | Total
John, Doe   | 1234 | red wine    |      12 |     $12 |      12 |     $12 |      12 |     $12 | $36.00
John, Doe   | 3456 | white wine  |       6 |      $6 |       3 |      $3 |       0 |      $0 |  $9.00
Kent, Clark | 6789 | etc.. 

同一客户每月有多个SKU和SKU数量不一,我需要计算总数。

我需要按客户名称将上述数据翻译成一张发票:

SKU, Description, Oct Units, Fee, Nov, Units, Fee, TOTAL.

有没有办法在宏或vlookups中轻松处理?我试过vlookups,因为一个人下面有多个产品,所以它不能正常工作。

我需要这样做才能生成超过150张发票,单独保存,转换为pdf,然后通过电子邮件发送给客户。

2 个答案:

答案 0 :(得分:0)

绝对最简单的方法是使用数据透视表。

如果您想使用宏执行某些操作,可以先为每个客户端创建一个工作表。我有时通过突出显示 distinct 名称列表并运行宏来使用此宏:

Sub CreateSheetsWithTheseNames()
    Dim CurName As Range

    For Each CurName In Selection
        ActiveWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
        ActiveSheet.Name = CurName.Value
    Next CurName
End Sub

这可以修改为只查看A列并为每个尚未包含该名称的工作表的名称创建工作表。

如果您已经设置了数据透视表,则可以修改上述宏以复制每个客户端的数据透视表表并进行相应的过滤。从那里,每张纸都可以保存为PDF。

如果需要,我可以在宏上解释一些。

答案 1 :(得分:0)

为了回答。

尝试使用报表过滤器中的客户名称,SKUDescription的行标签和Oct QytOct feeNov QtyNov Fee中的每一个的数据透视表,{{1}}表示Σ值。