這個(gè)問(wèn)題用VBA就可以實(shí)現,三步就好!
第一步:準備數據
如何把表1到表5中光頭強的成績(jì),統一提取到匯總表中!
在原有表格基礎上,新建兩個(gè)表,如下圖:
第二步:插入控件,在控件指定代碼,如圖:
1、ALT+F11,調出VBA代碼窗口,
2、插入一個(gè)模塊
3、復制以下代碼到這個(gè)模塊內。
Sub 成績(jì)提取()
Dim rng As Range
Dim B As Integer
Dim c As Integer
Dim j
j = Sheets('成績(jì)匯總表').Cells(5, 9)
Sheets('成績(jì)匯總表').Select
Columns('A:G').Select
Selection.ClearContents
Sheets('data').Select
Columns('A:D').Select
Selection.Delete Shift:=xlToLeft
Worksheets(1).Select
Rows('1:1').Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets('data').Select
Set rng = Sheets('data').Range('A65536').End(xlUp)
B = rng.Row
Sheets('data').Cells(B, 1).Select
ActiveSheet.Paste
c = Worksheets.Count
For i = 2 To c - 1
Worksheets(i).Select
Rows('2:2').Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets('data').Select
Set rng = Sheets('data').Range('A65536').End(xlUp)
B = rng.Row
Sheets('data').Cells(B + 1, 1).Select
ActiveSheet.Paste
Next
Sheets('data').Select
Rows('1:1').Select
Selection.AutoFilter
ActiveSheet.Range('$A$1:$D$1048576').AutoFilter Field:=1, Criteria1:=j
Columns('A:D').Select
Selection.Copy
Sheets('成績(jì)匯總表').Select
Columns('A:A').Select
ActiveSheet.Paste
Range('A1').Select
Application.CutCopyMode = False
MsgBox '已匯總完畢'
End Sub
4、插入一個(gè)控件,指定這個(gè)宏,執行代碼你就可以了。
三、最終效果

聯(lián)系客服