Board logo

標題: [發問] 彙總不同工作表在一個總表, [打印本頁]

作者: armin0521    時間: 2014-12-16 00:33     標題: 彙總不同工作表在一個總表,

共有好幾個工作表,需要製作一個總表將數量、日期彙整,數量需按大小排序,而日期也需要按先後排序,並且可以連結至對應的工作表中,可以這樣做嗎

總表
數量(A1)                  日期(B1)   
80   (A2)                   102/2/10(B2)   
65   (A3)                   102/8/19(B3)   
48   (A4)                   103/3/9(B4)   
37   (A5)                   103/8/9(B5)   
29   (A6)                   103/10/16(B6)   

工作表1
姓名  王一明
數量  80
日期  103/8/9

工作表2
姓名 楊小飛
數量 65
日期 102/2/10

工作表3
姓名 李大宏
數量 37
日期 103/3/9

工作表4
姓名 吳芷妍
數量 48
日期 103/10/16

工作表5
姓名 李漢娜
日期 102/8/19
數量29
作者: ashan0418    時間: 2014-12-18 09:51

回復 1# armin0521

若是用VBA的方式來解決,您能接受嗎??
作者: ashan0418    時間: 2014-12-18 14:12

回復 1# armin0521
  1. Sub test1()
  2.     Sheets.Add after:=Sheets(Sheets.Count)
  3.     Sheets(Sheets.Count).Name = "總表"
  4.     Sheets(Sheets.Count).[a1] = "姓名"
  5.     Sheets(Sheets.Count).[b1] = "數量"
  6.     Sheets(Sheets.Count).[c1] = "日期"
  7.     Sheets(Sheets.Count).[d1] = "來源工作表"
  8.     For i = 1 To Sheets.Count - 1
  9.         Sheets(i).Range("b1:b3").Copy
  10.         Sheets(Sheets.Count).[a65535].End(xlUp).Offset(1).PasteSpecial Transpose:=True
  11.         Cells(Selection.Row, 4) = Sheets(i).Name
  12.     Next
  13.    
  14.     Sheets("總表").Sort.SortFields.Add Key:=Range("C2:C" & [c65535].End(xlUp).Row), Order:=xlAscending
  15.     Sheets("總表").Sort.SortFields.Add Key:=Range("B2:B" & [b65535].End(xlUp).Row), Order:=xlAscending
  16.     With Sheets("總表").Sort
  17.         .SetRange Range("A1:D" & [c65535].End(xlUp).Row)
  18.         .Header = xlYes
  19.         .MatchCase = False
  20.         .Orientation = xlTopToBottom
  21.         .SortMethod = xlPinYin
  22.         .Apply
  23.     End With
  24.     MsgBox "合併完成"

  25.    
  26. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)