我有一张过期的客户发票表。每个客户可能有几张过期的发票,我想将这些发票整理到单独的客户表中,总金额为应付款额。
我希望它在一个工作表中,并且每个客户表上方都有标题行。
因此,我正在寻找一个VBA宏,该宏将遍历A列中的数据,并且当它看到从一个客户编号到下一个客户编号的更改时,它将对该客户的值求和并插入标题行,准备为下一个客户服务。并继续...
Sheet(tab)1显示原始数据,sheet2显示格式化数据的外观。
很抱歉,我们向您提供了任何帮助或指导。希望信息清楚。
答案 0 :(得分:0)
要开始使用,我建议您搜索google“创建读写vba宏列” 您熟悉VBA宏吗?如果没有,则可以结合使用索引和匹配公式。
否则,VBA编辑器中的VBA解决方案逻辑-可通过Alt + F11访问: 单击您要应用VBA代码的工作表,然后开始编写函数。例如,用于检查单元格范围的函数“ myFunction”如下所示,
一个例子:
Sub myFunction ()
If range.("A1").value = "Customer1" then
Range("B1:E1").Insert([Shift], [CopyOrigin])
end If
Sub End
检查事件条件,动态插入情况还需要进行更多工作,并且需要将它们包装在一个循环中。下面是特定于您需要对宏进行编程的工作的教程。
如果满足条件,则VBA复制并粘贴代码,请参见此处的教程:https://youtu.be/qGZQIl9JJk4 VBA在此处插入教程:https://powerspreadsheets.com/excel-vba-insert-row/#Excel-VBA-Constructs-to-Insert-Rows VBA如何在列的底部动态求和:https://youtu.be/_0Vcnb3xdOM
答案 1 :(得分:0)
The first question is-- What VBA have you tried?
Next, change col A heading to Customer, and col E heading to Amount
because these are the desired output headings .
Next, did you know that by dropping down View, and then Macros,
that there is a RECORD button? Click it.
Finally, it records your pressing Insert / PivotTable on a New sheet.
Drag the Amount field down to the Values box
After you drag each of the other fields to the Rows box,
left click on it in the Rows box, and select FieldSettings --
Subtotals tab -- Automatic for Customer, None for the others
Layout tab -- Show item labels in tabular form for each field
and just for Customer field--Insert page break after each item
At the end, click on any cell of the pivot, select PivotTableOptions --
Totals&Filters tab -- unclick Column totals
Click PageLayout,
then Margins -- make them narrow
then Sheet -- Rows to print at the top
Maybe Header -- Custom Header
Finally click on View / Macro
StopRecording
Presto, now the VBA has been captured.
答案 2 :(得分:0)