版主太神拉,神手
但我實力太弱,有些看不懂,向您請教
1.
For each xR In Range([A2], [A65536].End(3))
請問那個Range([A2]], [A65536].End(3))是什麼意思呢??
我知道[A65536].End(3)是A欄從最下面上來第一個非空白的儲存格
2.
If Trim(xR) = "小計" Then
If N > 0 Then xR(1, 2) = "=SUM(" & Range(xR(0, 2), xR(1 - N, 2)).Address & ")": N = 0
謝謝你的解釋 我看懂了~~太高興了 (我研究了好久)
但接下來後面還是看不懂
那請問標紅色的是什麼意思阿?? 求神手再度開示
If Trim(xR) = "小計" Then
If N > 0 Then xR(1, 2) = "=SUM(" & Range(xR(0, 2), xR(1 - N, 2)).Address & ")": N = 0
我現在大概知道的是這樣子
當一開始N數到4時 (A2-->A5)
由於A5是小計
因此當N=4時會啟動 If Trim(xR) = "小計" Then
xR(0,2)是從A5往上移一格,並往右移一格,
xR(0,2)=B4
xR(1 - N, 2),當N為4-->xR(-3,2)
xR(-3,2)=是從A5要往上移四格,並往右移一格
xR(-3,2)=B1
Range(xR(0, 2), xR(1 - N, 2)).Address==>$B$1到$B$4的範圍
Sub Macro3()
Dim xR As Range, N&, xH As Range
For Each xR In Range([A2], [A65536].End(3))
If xR Like "###########" And N = 0 Then Set xH = xR(1, 2): N = 1
If Trim(xR) = "小計" Then
If N = 1 Then xR(1, 2) = "=SUM(" & Range(xH, xR(0, 2)).Address & ")": N = 0
End If
If Trim(xR) = "總計" Then xR(1, 2) = "=SUMIF(R1C[-1]:R[-1]C[-1],""*小計*"",R1C:R[-1]C)"
Next
End Sub
Set xR = Range("A7")
With xR
If Trim$(.Value) = "總計" Then
.Offset(0, 1).Formula = "=SUMIF(A:A,""*小計*"",B:B)"
'.Offset(0, 1).FormulaR1C1 = "=SUMIF(C[-1],""*小計*"",C)" '這條語句與上一條語句在這裡是相同的效果,但不同的位置公式不一樣,所以上面那條比較好用。
End If
End With
End Sub