返回列表 上一主題 發帖

[發問] 如何讓總表轉化為三張明細表

回復 10# leoskie

要自動生出N張Sheet的話得用VBA

TOP

可惜我下載不了檔案,不然我來研究看看他的想法是不是差不多.

若不能自動生成,那手動生成也好.

每次都要做二十幾張,最怕就是忘記 或貼錯格欄位.... 這才是擔心的

TOP

推薦使用VBA,不管要生幾百張都改個數字就好

TOP

麻煩解釋4^8的意思與用法
希望支持!

TOP

回復 14# s7659109

4的8次方
學海無涯_不恥下問

TOP

回復 1# s7659109
樞紐分析表雙擊資料輸出明細工作表


    play.gif
學海無涯_不恥下問

TOP

以本題,為何要用4的8次方,拜託請解答!
希望支持!

TOP

另有一問題請教,總表轉換過來的明細表,金額無法加總,若用VALUE函數,則下一列無符合資料會出現公式#value!的錯誤,請協助。
希望支持!

TOP

我的office為2003是否有解?
希望支持!

TOP

謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列與字典,學習方案如下,請各位前輩指教
總表:


執行結果A001:


執行結果A002:


執行結果A003:


Option Explicit
'這方案是以字典key記錄不重複的貨號,item記錄相同貨號所在列號,以"/"間隔
Sub TEST_1()
Application.DisplayAlerts = False
'↑令不必詢問工作表是否刪除,直接刪了
Dim Brr, Crr, Z, Q, A, i&, j%, s%, N%
'↑宣告變數:&是長整數,%是短整數,其餘是通用變數
Set Z = CreateObject("Scripting.Dictionary")
'↑令Z變數是 字典
For Each A In Worksheets
   If A.Name <> "總表" Then A.Delete
Next
'↑設順迴圈將"總表"以外的工作表刪除
Brr = [A1].CurrentRegion: Crr = Brr
'↑令Brr變數是帶入區域儲存格值的二維陣列,令Crr變數同Brr陣列
For i = 3 To UBound(Brr): Z(Brr(i, 2)) = Z(Brr(i, 2)) & "/" & i: Next
'↑設順迴圈將貨號濾重複,但是以item記錄所在的列號,以"/"符號間隔
For s = 0 To Z.Count - 1
   Q = Split(Z.ITEMS()(s), "/"): N = 2
   For i = 1 To UBound(Q)
      N = N + 1
      For j = 1 To 8: Crr(N, j) = Brr(Q(i), j): Next
   Next
   Worksheets.Add.Name = Z.KEYS()(s): [A1].Resize(N, 8) = Crr
Next
'↑設順迴圈將以每個貨號新增工作表,將資料寫入工作表中
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題