同事急忽忽的前來(lái)求助,單位人員近三年的年度考核結(jié)果都保存在Excel表格,如圖1所示,這里按照姓名、考核結(jié)果列出了所有人員的年度考核結(jié)果,她現(xiàn)在需要將這些考核結(jié)果導(dǎo)入到已形成的《干部任免考核表》的“年度考核結(jié)果”單元格,但這些任免考核表都是Word格式,由于考核人員接近千人,如果全部通過(guò)手工的方法完成導(dǎo)入,工作量可想而知,而且也很容易出現(xiàn)錯(cuò)誤,有沒(méi)有簡(jiǎn)單方便一些的方法呢?
我們可以借助VBA代碼完成這一任務(wù),打開(kāi)Excel格式的年度考核表,按下“Alt+F11”組合鍵,打開(kāi)Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入→模塊”,在右側(cè)窗格插入一個(gè)空白模塊,在這里手工輸入或粘貼如下代碼:
Sub test()
Dim WordApp As New Word.Application, MyFile$, arr, i%
arr = Range("A1").CurrentRegion
MyPath = ThisWorkbook.Path & "\"
Application.ScreenUpdating = False
For i = 2 To UBound(arr)
MyFile = Dir(MyPath & "*.doc")
Do While MyFile <> ""
If InStr(MyFile, arr(i, 1)) And MyFile <> ThisWorkbook.Name Then
d = True
With GetObject(MyPath & MyFile)
.tables(2).cell(2, 2).Range.text = arr(i, 2)
.Close True
End With
End If
MyFile = Dir
Loop
Next
MsgBox "批量導(dǎo)入完成!"
Application.ScreenUpdating = True
End Sub
上述代碼的“test”可以根據(jù)喜好任意設(shè)置,導(dǎo)入完成之后的提示信息也可以按照需要設(shè)置,檢查無(wú)誤之后依次選擇“文件→關(guān)閉并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”組合鍵,打開(kāi)“宏”對(duì)話框,選擇并運(yùn)行宏,此時(shí)會(huì)看到圖2所示的“批量導(dǎo)入完成”的對(duì)話框,隨后會(huì)在相應(yīng)的Word表格完成年度考核結(jié)果的批量填充,效果如圖3所示。如果提示“找不到工程或庫(kù)”,請(qǐng)打開(kāi)“引用 - VBAProject”對(duì) 話框,在可使用的引用列表下勾選“Microsoft Word 16.0 object Library”復(fù)選框,確認(rèn)之后即可生效。