夜上9116
這個問題用VBA就可以實現,三步就好!
第一步:準備數據
如何把表1到表5中光頭強的成績,統一提取到彙總表中!
在原有表格基礎上,新建兩個表,如下圖:
第二步:插入控件,在控件指定代碼,如圖:
1、ALT+F11,調出VBA代碼窗口,
2、插入一個模塊
3、複製以下代碼到這個模塊內。
Sub 成績提取()
Dim rng As Range
Dim B As Integer
Dim c As Integer
Dim j
j = Sheets("成績彙總表").Cells(5, 9)
Sheets("成績彙總表").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("成績彙總表").Select
Columns("A:A").Select
ActiveSheet.Paste
Range("A1").Select
Application.CutCopyMode = False
MsgBox "已彙總完畢"
End Sub
4、插入一個控件,指定這個宏,執行代碼你就可以了。
三、最終效果
如果這個回答幫助到了你,請幫忙轉發出去,讓更多人提高工作效率!
excel圖表
第一、把表一姓名按順序排序第二在第二張表 用VLOOKUP()函數即可 在成績處輸入公式 =VLOOKUP(B1,Sheet1!B1:C36565,2,TRUE) ,然後一拖到底。選擇填充格式。