用vba实现自动分摊表格有日期,应收重量 收入 应付重量 应付成本 筛选日期用应付成本除 应收重量再乘每一票的应收重量
时间: 2024-02-10 17:10:59 浏览: 68
excel-vba.rar_VBA复制 筛选_VBa_latecis_leaft91_vba自动筛选
5星 · 资源好评率100%
以下是一个示例 VBA 代码,可以根据日期和应付成本自动计算应收重量和分摊金额:
```vba
Sub 自动分摊()
' 定义变量
Dim totalCost As Double
Dim totalWeight As Double
Dim revenue As Double
Dim dateValue As Date
Dim i As Integer
Dim rowCount As Integer
' 设置总应付成本
totalCost = 1000
' 获取表格行数
rowCount = Cells(Rows.Count, 1).End(xlUp).Row
' 遍历表格并计算分摊金额和应收重量
For i = 2 To rowCount
' 获取日期和应付重量
dateValue = Cells(i, 1).Value
totalWeight = Cells(i, 4).Value
' 筛选符合条件的记录
If Cells(i, 6).Value / totalWeight = totalCost / totalWeight Then
' 计算应收重量和分摊金额
revenue = Cells(i, 3).Value
Cells(i, 5).Value = totalWeight * revenue / Cells(i, 2).Value
Cells(i, 6).Value = totalCost * revenue / Cells(i, 2).Value
End If
Next i
End Sub
```
在这个示例代码中,我们假设表格中有日期、应收重量、收入、应付重量和应付成本等列。首先设置总应付成本,然后遍历表格中的记录,并根据日期和应付成本筛选符合条件的记录。对于符合条件的记录,计算应收重量和分摊金额,并输出到表格中。
需要注意的是,这个示例代码是根据单个记录的应付成本和应收重量计算应收重量和分摊金额的。如果需要根据多个记录的应付成本和应收重量计算,可以在遍历表格之前先对表格进行排序,以确保相邻的记录具有相同的应付成本和应收重量。
阅读全文