我有一個輸出數字串列的 vba 代碼。此串列可能因每次執行而異。因此,每次運行時,空單元格的行數和位置可能會發生變化。我在這里需要的是將白色單元格(對應于每個產品類別)的總和插入到 B 列(Aval.Qnty)的以下綠色單元格中。這顯示在下圖中。

有沒有辦法通過一段vba代碼來做到這一點?
uj5u.com熱心網友回復:
添加小計

Option Explicit
Sub AddSubTotals()
Dim ws As Worksheet: Set ws = ActiveSheet ' be more specific
Dim rg As Range: Set rg = ws.Range("A1").CurrentRegion
Dim rCount As Long: rCount = rg.Rows.Count
If rCount < 2 Then Exit Sub ' not enough data
With rg.Columns(2)
Dim Data As Variant: Data = .Value
Dim r As Long
Dim sTotal As Double
For r = 2 To rCount
If IsEmpty(Data(r, 1)) Then
.Rows(r).Value = sTotal
sTotal = 0
Else
If IsNumeric(Data(r, 1)) Then
sTotal = sTotal Data(r, 1)
End If
End If
Next r
End With
End Sub
uj5u.com熱心網友回復:
(下面的解決方案不是vba而是excel公式。我認為它會幫助你。)
- 您可以使用 C2 處的公式并將此公式擴展到底部以獲得產品類別的總和:
=IF(左(A2,3)=左(A1,3),B2 C1,B2)
對于產品類別的總和,您只需考慮 C 列空白單元格旁邊的單元格。
- 您可以使用 D2 處的公式并將此公式擴展到底部以獲得總和
=IF(RIGHT(A2,1)="X",C2 D1,IF(ISNUMBER(D1),D1,0))
您只需考慮 D 列底部單元格的總和。
下面是公式和結果:
公式
結果
您可以分析其作業原理的公式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/361276.html
上一篇:VBA將日期轉換為字串
下一篇:以月為步長回圈遍歷日期范圍
