【发布时间】:2021-12-07 06:53:58
【问题描述】:
我试图使用 VBA 代码对商品价格求和以找到总价和最终总价之间的差异,差异应该需要粘贴到可调整列中,但这里的输出通过迭代给出了所有总和值
这是我的代码:
Const start_row = 2
Const tot_price = 3
Const cus_id_num = 1
Sub refresh()
Dim cus_id As String
Dim fee_item As String
Dim temp As Variant
i = start_row
j = 1
cus_id = Me.Cells(i, 1).Value
While Me.Cells(i, 2).Value <> ""
If Me.Cells(i, 1).Value <> "0" Then
If cus_id <> Me.Cells(i, 1).Value Then
cus_id = Me.Cells(i, 1).Value
End If
Debug.Print cus_id
''Debug.Print cus_id
If cus_id <> "" Then
If Me.Cells(i, tot_price).Value <> "" Then
base_fee = Me.Cells(i, tot_price).Value
End If
Debug.Print base_fee
temp = 0
Else
If Me.Cells(i, 1).Value = "" Then
fee_item = Round(Me.Cells(i, tot_price).Value, 0)
temp = fee_item + temp
End If
Debug.Print temp
End If
End If
i = i + 1
Wend
End Sub
问题的数据:
Customer_id_number||Items || Total Price || Adjustable
70 || groceries || 1578.00 ||
----------------------------------------------------------------------
Detergent Powder 719.00
----------------------------------------------------------------------
Detergent Soap 58.00
----------------------------------------------------------------------
Floor cleaner liquid 396.00
---------------------------------------------------------------------
Tooth Paste 58.14
---------------------------------------------------------------------
Tooth Brush 27.51
--------------------------------------------------------------------
Shampoo 219.77
---------------------------------------------------------------------
Perfume 100.00
---------------------------------------------------------------------
40 vegetable and fruits 1370.00
----------------------------------------------------------------------
Tomatoes 88.00
----------------------------------------------------------------------
Onions 38.00
----------------------------------------------------------------------
Sweet Potatoes 93.00
----------------------------------------------------------------------
Oranges 809.00
----------------------------------------------------------------------
Mangoes 282.03
----------------------------------------------------------------------
Spinach 59.90
图片: data image
输出: 70 第1578章
719
777
1173
1231
1259
1479
1579
40 1370
88
126
219
1028
1310
1370
我需要每次迭代的最终总和输出,有人可以帮我吗
非常感谢您!
【问题讨论】:
-
我还没有完全理解您的要求,也没有完全理解您的代码做了什么或缺少了什么。无论如何,您是否考虑过为此使用数据透视表?
-
你的问题很不清楚。请阅读minimal reproducible example 并给出适当的输入数据样本和所需的输出。屏幕截图也可能有帮助。在该样本数据上解释您到底想做什么。您是否考虑过使用
SUMIF或SUMIFS之类的公式? • 您可能会受益于阅读Why is “Can someone help me?” not an actual question? -
当您说“客户项目”时,您是指每个“客户 ID_编号\项目”吗?
-
对不起,我已经编辑了我的问题,你能帮忙解决一下吗
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: excel vba while-loop sum iteration