




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、方法一:宏命令控制法對(duì)于Office家族的宏功能,大家或許早有耳聞,但由于需要使用VBA進(jìn)行編程,所以宏一直讓許多人望而卻步,不過要使用一個(gè)現(xiàn)成的宏就簡(jiǎn)單多了。首先打開要處理的Excel表,選擇“工具宏Visual Basic 編輯器”,在編輯器左邊的窗口中用鼠標(biāo)雙擊Sheet1,會(huì)出現(xiàn)代碼編輯窗口,在代碼編輯窗口輸入如下代碼(為了不破壞原有的工資表,所以這里采用了將 Sheet1的內(nèi)容復(fù)制到Sheet2的方法,所以最后的生成結(jié)果是在Sheet2中顯示):Sub MakeSalaryList()Dim i As IntegerDim endrow As Integer'測(cè)出數(shù)據(jù)的最后一
2、行endrow = Sheet1.Range("a65536").End(xlUp).Row - 1'把標(biāo)題貼過去Worksheets(1).Range("1:1").Copy (Worksheets(2).Cells(1, 1)For i = 3 To endrow'把每條數(shù)據(jù)抬頭貼過去Worksheets(1).Range("2:2").Copy (Worksheets(2).Cells(3 * i - 7, 1)'把數(shù)據(jù)貼過去Worksheets(1).Range(Cells(i, 1), Cells(i
3、, 256).Copy (Worksheets(2).Cells(3 * i - 6, 1)Next iEnd Sub關(guān)閉編輯器,將自動(dòng)返回到剛才的Excel表,選擇“工具宏宏”,將彈出如下對(duì)話框:點(diǎn)擊“執(zhí)行”,將在Sheet2生成如Gz-2所示的轉(zhuǎn)換成工資條,怎樣,不復(fù)雜吧。當(dāng)然,如果你的表總Sheet2已經(jīng)輸入了別的內(nèi)容,就可以將他復(fù)制到Sheet3來(lái)生成,代碼修改也很簡(jiǎn)單,把其中的Sheet2修改成Sheet3就可以了,其它代碼不變。方法二:公式填充法相比宏命令,公式填充法更便于理解,不過需要手工操作的步驟稍微多一些,“魚和熊掌不可得兼”,要用哪種方法就看你的愛好了。首先打開要操作的Ex
4、cel工資表,為了不破壞原表(Sheet1)結(jié)構(gòu),我們?nèi)匀徊捎迷赟heet2中進(jìn)行操作的方法。由于這個(gè)工資表一共有L列,18行,要復(fù)制的表頭項(xiàng)目在第二行,所以在第一個(gè)單元格中輸入如下公式:=IF(MOD(ROW(),2)=0,INDEX(sheet1!$A:$L,INT(ROW() 1)/2) 2,COLUMN(),sheet1!A$2)接下來(lái)的工作就簡(jiǎn)單了,我們只要使用填充柄將此公式填充到其它單元格,列向填充到L列,行填充到18行就大功告成。因?yàn)樵诓煌谋砀裰羞@個(gè)公式需要修改的地方比較多,所以這里做一下解釋:由于工資條中的奇數(shù)行都是表頭,偶數(shù)行是數(shù)據(jù),所以在這個(gè)公式中首先進(jìn)行奇偶行判斷,若是
5、奇數(shù)行,直接取工資表的A2單元格數(shù)據(jù)(即公式中的 sheet1!A$2,如果表頭數(shù)據(jù)在第4行第三列則修改為sheet1!C$4)。若是偶數(shù)行,則用INDEX()函數(shù)來(lái)取數(shù)。該函數(shù)的第一個(gè)參數(shù)是指定工資表中的一個(gè)取數(shù)區(qū)域(即sheet1!$A:$L,如果不是從A到L列,那么可以修改這個(gè)參數(shù),如修改為sheet1!$B$P ,就表示在B到P列之間取數(shù))。當(dāng)然,如果你想把轉(zhuǎn)換后的數(shù)據(jù)放在Sheet3而不是Sheet2中,那么,只要在Sheet3中執(zhí)行以上操作就可以了,并不需要修改公式的內(nèi)容。采用這種方法不能自動(dòng)插入空行,給打印后的裁減帶來(lái)了一定的麻煩,所以,建議在做完后在全選所有單元格,通過調(diào)整行高
6、和列寬來(lái)解決這個(gè)問題。方法三:Word郵件合并法對(duì)于宏和公式運(yùn)用不太熟練的朋友別著急,這里還有一招等著你。首先我們確定好主文檔(工資條表格)和數(shù)據(jù)源(Excel或Access格式的記錄表),然后通過“郵件合并”向?qū)О褦?shù)據(jù)源中的的字段信息合并進(jìn)來(lái)。點(diǎn)擊“工具信函與郵件郵件合并”,然后在屏幕右側(cè)進(jìn)入“郵件合并”向?qū)?。第一步:選擇文檔類型。選擇“信函”。第二步:選擇開始文檔。選擇默認(rèn)的“使用當(dāng)前文檔”。第三步:選取收件人。單擊“使用現(xiàn)有列表”區(qū)的“瀏覽”按鈕,通過“選擇數(shù)據(jù)源”對(duì)話框,定位格式數(shù)據(jù)源的存放位置,選中并打開。接著彈出“郵件合并收件人”對(duì)話框,在這里可以指定參與郵件合并的記錄,選擇默認(rèn)的
7、“全部”,確定返回Word編輯窗口。第四步:撰寫信函。將插入點(diǎn)定位于表格的第二行第一格內(nèi),單擊“郵件合并”工具欄上“插入Word域”左邊的“插入域”按鈕,打開“插入合并域”對(duì)話框,選中“域”下方列表框中的“序號(hào)”字段,并單擊“插入”按鈕,即可把“序號(hào)”字段合并到主文檔中。然后用同樣的方法把其余字段插入到主文檔表格中對(duì)應(yīng)的位置即可。第五步:預(yù)覽信函。在這里我們可以瀏覽一下工資條的大致效果,還可以調(diào)整“姓名”表格的寬度,讓姓名在一行內(nèi)顯示。然后選中“姓名”后的表格區(qū)域,單擊鼠標(biāo)右鍵在彈出的菜單中選擇“平均分布各列”,讓這些列具有相同的寬度,使工資條更美觀。如果這樣直接進(jìn)入打印操作,一頁(yè)紙只能打印一
8、個(gè)工資條,所以選中整個(gè)工資條表格,復(fù)制,粘貼到原表格下方空一行后的地方,把插入點(diǎn)定位于主文檔中第一和第二個(gè)表格之間的空行處,單擊“郵件合并”工具欄上的“插入Word域”按鈕,在彈出的菜單中選擇“下一記錄”命令,以此類推,就可以在一頁(yè)紙上多排幾個(gè)工資表,充分利用資源了。最后進(jìn)入第六步:完成合并。然后把工資條打印出來(lái),就制作完成了。OK,再也不用費(fèi)力地重復(fù)勞動(dòng)專門制作工資條數(shù)據(jù)表了,通過簡(jiǎn)單的轉(zhuǎn)化一個(gè)數(shù)據(jù)表就實(shí)現(xiàn)了兩項(xiàng)完全不同的功能,趕快操練一下吧。方法一:排序法第一步:打開工資表在工資表最后一空白列輸入1,2,3(注:輸入的數(shù)字與工資表的行數(shù)相同)(圖1)。第二步:在剛輸入的數(shù)字下面向下輸入1.
9、1,2.1,比上面的數(shù)據(jù)少一行,本列在K9中輸入1.1(圖2)。第三步:在K列任何一個(gè)單元格中單擊左鍵單擊工具欄上的升序排列按鈕選擇工資表編輯定位定位條件選擇“空值”確定。第四步:在編輯欄中輸入=A$1按住Ctrl鍵不放敲回車鍵。第五步:在單元格K15下方輸入1.01,2.01一直輸入到6.01單擊工具欄上的升序排列按鈕刪除K列的數(shù)據(jù)。加一下邊框便大功告成了(圖3)。方法二:函數(shù)法第一步:打開工資表單擊Sheet2標(biāo)簽在Sheet2工作表的A1單元格中輸入=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(She
10、et1!$A:$N,INT(ROW()+4)/3),COLUMN()向后拖到J1單元格(注:拖的長(zhǎng)度應(yīng)與原表長(zhǎng)度相同)(圖4)。第二步:選擇A1:J1區(qū)域向下拖拖到第20行即可(注:拖的時(shí)候可能拖多或拖少,這時(shí)要看一下原表)加一下邊框便成功了(圖5)。如下是“生成工資條格式”、“打印預(yù)覽”、“清空內(nèi)容”的三個(gè)功能實(shí)現(xiàn):Sub CtoPrt()'生成工資條格式 Dim mycount As Integer Dim prows As Integer Dim srows As Integer mycount = 0 prows = Sheets("打印 .如下是“生成工資條格式”、
11、“打印預(yù)覽”、“清空內(nèi)容”的三個(gè)功能實(shí)現(xiàn):Sub CtoPrt()'生成工資條格式 Dim mycount As Integer Dim prows As Integer Dim srows As Integer mycount = 0 prows = Sheets("打印").Cells(Rows.Count, 1).End(xlUp).Row srows = Sheets("源數(shù)據(jù)").Cells(Rows.Count, 1).End(xlUp).Row'清空打印表數(shù)據(jù) If prows > 1 Then Application
12、.EnableEvents = False Range(Rows(2), Rows(prows).ClearContents Application.EnableEvents = True End If'清空打印表格式 Sheets("打印").Cells.Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNo
13、ne Selection.Borders(xlEdgeTop).LineStyle = xlNone Selection.Borders(xlEdgeBottom).LineStyle = xlNone Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone With Selection.Interior .ColorIndex
14、= 0 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Application.ScreenUpdating = False'第一人的工資條直接復(fù)制 Sheets("源數(shù)據(jù)").Select Rows("1:2").Select Selection.Copy Sheets("打印").Select Range("A2").Select Selection.PasteSpecial Paste:=xlPasteValues, Opera
15、tion:=xlNone, SkipBlanks _ :=False, Transpose:=False mycount = 1'從第二人開始 For i = 3 To srows prows = Sheets("打印").Cells(Rows.Count, 1).End(xlUp).Row + 1 Sheets("打印").Select Rows(2).Select Selection.Copy Rows(prows).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=
16、xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("源數(shù)據(jù)").Select Rows(i).Select Selection.Copy Sheets("打印").Select Rows(prows + 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False mycount = mycount + 1 Next i Applica
17、tion.ScreenUpdating = False Dim rnum As Integer Dim cnum As Integer rnum = Sheets("打印").Cells(Rows.Count, 1).End(xlUp).Row cnum = Sheets("打印").Cells(2, Columns.Count).End(xlToLeft).Column If rnum > 2 And cnum > 1 Then Application.EnableEvents = False Range(Cells(2, 1), Cell
18、s(rnum, cnum).Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .W
19、eight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Border
20、s(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With Application.EnableEvents = True End If MsgBox "源數(shù)據(jù)共計(jì)" & srows - 1 &
21、amp; "人工資記錄,已成功處理" & mycount & "人的工資條格式。", vbOKOnly + 64, "提示"End SubSub prtpre()'打印預(yù)覽 Dim rnum As Integer Dim cnum As Integer rnum = Sheets("打印").Cells(Rows.Count, 1).End(xlUp).Row cnum = Sheets("打印").Cells(2, Columns.Count).End(xlToLeft
22、).Column If rnum > 2 And cnum > 1 Then Application.EnableEvents = False Sheets("打印").Range(Cells(2, 1), Cells(rnum, cnum).PrintPreview Application.EnableEvents = True Else MsgBox "該表格沒有可用記錄,不能預(yù)覽。", vbOKOnly + 64, "提示" End IfEnd SubSub clcontents()'清空內(nèi)容 Sheets("打印").Cells.ClearContents Sheets("打印").Cells.Select Selection.Borders(xlDiagonalDown).LineStyl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理核心要點(diǎn)與實(shí)踐體系
- 古詩(shī)詞鑒賞之品味煉字(學(xué)生版)-2024小升初語(yǔ)文專項(xiàng)復(fù)習(xí)講義
- 高中物理專項(xiàng)復(fù)習(xí):功和功率
- 高頻考點(diǎn)漫畫類作文(有例文和解析) 押題練-2025年高考語(yǔ)文三輪復(fù)習(xí)
- 《高精密冷軋不銹鋼帶生產(chǎn)工藝規(guī)范》征求意見稿
- 高考數(shù)學(xué)復(fù)習(xí):重難點(diǎn)題型之立體幾何中求角度、距離類型(原卷版)
- 專題06咨詢求助信應(yīng)用文-2025年高考英語(yǔ)二輪復(fù)習(xí)話題寫作高頻熱點(diǎn)通關(guān)(解析版)
- 專題02投稿信應(yīng)用文-2025年高考英語(yǔ)話題寫作高頻熱點(diǎn)通關(guān)攻略(原卷版)
- 歐洲飲食文化課件
- 黨史期末考試題庫(kù)及答案
- 工程款支付審批表
- 河北省唐山市2025屆高考物理二模試卷含解析
- 施耐德PLC-標(biāo)準(zhǔn)指令庫(kù)
- 小學(xué)體育與健康 水平三 第五章 低單杠 教案(PDF版 )
- 封陽(yáng)臺(tái)換窗戶免責(zé)協(xié)議書
- 煤礦融資計(jì)劃書
- 轉(zhuǎn)租授權(quán)委托書及注意事項(xiàng)
- 藏族民間舞-熱巴舞智慧樹知到期末考試答案章節(jié)答案2024年西藏大學(xué)
- 微生物崗位技能考核試題及答案
- 2023-2024學(xué)年四川省南充市嘉陵區(qū)五年級(jí)數(shù)學(xué)第二學(xué)期期末統(tǒng)考模擬試題含解析
- 江西省南昌市2023-2024學(xué)年六年級(jí)下學(xué)期期末英語(yǔ)試題
評(píng)論
0/150
提交評(píng)論