怎樣把excel中姓名對應(yīng)的成績導(dǎo)入到一張相同姓名excel表中?
網(wǎng)友解答: 這個問題用VBA就可以實現(xiàn),三步就好!第一步:準備數(shù)據(jù)如何把表1到表5中光頭強的成績,統(tǒng)一提取到匯總表中!在原有表格基礎(chǔ)上,新建兩個表,如下圖:第二步:插入控件,在控件指定代
這個問題用VBA就可以實現(xiàn),三步就好!第一步:準備數(shù)據(jù)
如何把表1到表5中光頭強的成績,統(tǒng)一提取到匯總表中!
在原有表格基礎(chǔ)上,新建兩個表,如下圖:
第二步:插入控件,在控件指定代碼,如圖:1、ALT+F11,調(diào)出VBA代碼窗口,
2、插入一個模塊
3、復(fù)制以下代碼到這個模塊內(nèi)。
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、插入一個控件,指定這個宏,執(zhí)行代碼你就可以了。
三、最終效果如果這個回答幫助到了你,請幫忙轉(zhuǎn)發(fā)出去,讓更多人提高工作效率!
如果這個回答對你有幫助,請關(guān)注我,每周分享更多干貨!
謝謝你的點贊!
網(wǎng)友解答:第一、把表一姓名按順序排序第二在第二張表 用VLOOKUP()函數(shù)即可 在成績處輸入公式 =VLOOKUP(B1,Sheet1!B1:C36565,2,TRUE) ,然后一拖到底。選擇填充格式。