- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 1# s7659109
VBA輔助來的容易- Sub ex()
- Dim Ay(2), Ary()
- Set dic = CreateObject("Scripting.Dictionary")
- With Sheets("總表")
- For Each a In .Range(.[B3], [B3].End(xlDown))
- If IsEmpty(dic(a.Value)) Then
- ar = Array(a.Value, "", "進貨", "", "", "出貨", "", "")
- Ay(0) = ar
- Ay(1) = .[A2:H2].Value
- Ay(2) = a.Offset(, -1).Resize(, 8).Value
- dic(a.Value) = Ay
- Else
- Ary = dic(a.Value)
- ReDim Preserve Ary(UBound(Ary) + 1)
- Ary(UBound(Ary)) = a.Offset(, -1).Resize(, 8).Value
- dic(a.Value) = Ary
- End If
- Next
- End With
- For Each ky In dic.keys
- With Sheets(ky)
- .[A1].Resize(UBound(dic(ky)) + 1, 8) = Application.Transpose(Application.Transpose(dic(ky)))
- .Cells(.Rows.Count, 1).End(xlUp).Offset(1) = "合計"
- .Cells(.Rows.Count, 8).End(xlUp).Offset(1) = "=SUM(R1C:R[-1]C)"
- End With
- Next
- End Sub
複製代碼 |
|