怎樣把excel中姓名對應的成績導入到一張相同姓名excel表中?

夜上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) ,然後一拖到底。選擇填充格式。


分享到:


相關文章: