網(wǎng)上常??梢钥吹礁鞣N工資條制作的函數(shù)、黏貼等各種方法。都需要幾個(gè)步驟。感覺(jué)費(fèi)時(shí)費(fèi)力。
學(xué)會(huì)了VBA 之后,當(dāng)然就不需要那么多步驟啦。能一鍵解決的時(shí)候,絕不按兩下鍵。
如果本例與你的表格不一致,讀者可以復(fù)制代碼,簡(jiǎn)單修改幾處代碼就可以運(yùn)行了。
問(wèn)題如下:Excel VBA 一鍵工資表制作工資條
Excel VBA 一鍵工資表制作工資條
問(wèn)題描述:
1:工資表的原始表格里已經(jīng)做好了各同事的工資表格,
2:要在每個(gè)同事的上一行插入固定的表頭,就形成個(gè)人的工資條;
解決的思路詳解:1:把表頭作為一個(gè)單元格區(qū)域并賦值
2:用for循環(huán)遍歷工作表(需要制作工資條的單元格區(qū)域),
3:在每個(gè)需要增加插入表頭的單元格區(qū)域,插入表頭
代碼運(yùn)行的結(jié)果如下:Excel VBA 一鍵工資表制作工資條
代碼如下:Excel VBA 一鍵工資表制作工資條
Sub 生成工資條()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim sht As Worksheet, arr, i, j
Dim rng As Range, Path1 As String
Set sht = Worksheets("工資表原始表格")
Set rng = sht.Range("a2:t3")
arr = sht.Range("a1").CurrentRegion
n = UBound(arr, 1) - 1
" 插入表頭的循環(huán)
For i = n To 5 Step -1
rng.Copy
Rows(i).Insert Shift:=xlDown
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
代碼解析
1:5~6行 Dim定義變量;
2:8行 設(shè)定工作表;
3:9行 設(shè)定表頭區(qū)域;
4:10行 把工資表區(qū)域的所有數(shù)據(jù)放入數(shù)組arr
5:12行 用n獲取倒數(shù)第二行號(hào)(因?yàn)樽詈笠恍械暮嫌?jì),不需要制作工資條);
6:14~17行 遍歷arr數(shù)組;
7:15行 復(fù)制表頭
8:16行 在需要制作工資條的單元格上面插入工作表
本例思考:1:本例的for循環(huán)加入了“Step -1”這個(gè)參數(shù),是因?yàn)閒or循環(huán)本來(lái)就有step這個(gè)參數(shù)。只是大部分省略了(當(dāng)step為1時(shí),可以省略)。step指的時(shí)循環(huán)的步距。
2:當(dāng)遇到需要?jiǎng)h除、插入單元格的時(shí)候,要用倒循環(huán)。即step 為 -1
小結(jié):解決本問(wèn)題,需要用的知識(shí)點(diǎn):
1:復(fù)制、黏貼的運(yùn)用
點(diǎn)擊關(guān)注可以更方便的查看Excel VBA的案例文章私信 視頻 可以獲取54集VBA入門視頻私信 VBA或 vba 可以獲取文章中含VBA代碼的Excle文件
1.《excel工資表 Excel VBA 一鍵工資表制作工資條》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《excel工資表 Excel VBA 一鍵工資表制作工資條》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/jiaoyu/231164.html