




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 NextRange(a3:k&n).Borders.LineStyle=1Application.DisplayAlerts=TrueApplication.ScreenUpdating=TrueEndSub三、代碼詳解1、Dimd(1To3)AsNewdictionary:本例是前期綁定的,先引用了腳本運行時庫,聲明了3個元素的數(shù)組為新字典。2、x=Arr(i,2):把生產(chǎn)型號賦給變量x(1)。3、d(x(1)=d(x(1)+Arr(i,3):把相同生產(chǎn)型號和它的生產(chǎn)數(shù)量加入字典d(1),達(dá)到匯總的目的。4、x=Arr(i,2)&|&Arr(i,4):把生產(chǎn)型號和返修原因連起來賦給變量x(
2、2)。5、d(x(2)=d(2)(x(2)+Arr(i,5):把相同生產(chǎn)型號和相同返修原因的返修數(shù)量加入字典d(2),達(dá)到匯總的目的。6、x=Arr(i,2)&|&Arr(i,4)&|&Arr(i,6):把生產(chǎn)型號和返修原因和報廢原因連起來賦給變量x(3)。7、d(x(3)=d(x(3)+Arr(i,7):把相同生產(chǎn)型號和相同返修原因和相同報廢原因的報廢數(shù)量加入字典d(3),達(dá)到匯總的目的。8、Fori=1To3:用一個循環(huán)運用字典的keys方法和items方法把3個字典的關(guān)鍵字和它們的項賦給對應(yīng)的變量。9、Sheet4.Activate:激活表4。10、a3:k1000.ClearConte
3、nts:清空A3:K1000單元格區(qū)域。11、a3:k1000.UnMerge:將該區(qū)域所有的合并單元格分解為獨立的單元格。12、a3:k1000.Borders.LineStyle=xlNone:去除該區(qū)域所有的單元格邊框。13、i3.Resize(d(3).Count,1)=Application.Transpose(t(3):把報廢數(shù)量匯總值的一維數(shù)組轉(zhuǎn)置后賦給I3開始的單元格區(qū)域。14、n=2:把2賦給變量n。因為循環(huán)中要用到n=n+1,而匯總表的起始行是第3行,所以把n的初值定為2。15、Fori=0ToUBound(k(3):在字典d(3)中逐一循環(huán)。16、aa=Split化(i)
4、,T):VBA函數(shù)Split在第6例已經(jīng)講過了。把字典d(3)的關(guān)鍵字分解后賦給變量aa。17、n=n+1:在循環(huán)中每循環(huán)一次行數(shù)就加1。18、Cells(n,2)=aa(0):把aa數(shù)組的第1個元素aa(0),即生產(chǎn)型號,賦給對應(yīng)的單元格;下面兩句分別把aa數(shù)組的第2個元素aa(1),即返修原因,賦給對應(yīng)的單元格;把aa數(shù)組的第3個元素aa(2),即報廢原因,賦給對應(yīng)的單元格。19、Fori=3Ton:從第3行開始逐行循環(huán)。20、Forj=0ToUBound(k(1):在一維數(shù)組k(1)中循環(huán)。21、IfCells(i,2)=k(j)Then:如果生產(chǎn)型號等于字典d(1)的關(guān)鍵字時執(zhí)行下面的
5、語句。22、ceiis(i,3)=t(j):把這個生產(chǎn)型號的生產(chǎn)數(shù)量賦給C列單元格。23、Cells(i,10)=Cells(i,9)/Cells(i,3):把報廢數(shù)量除以生產(chǎn)數(shù)量得到的報廢率賦給J列單元格。24、Cells(i,11)=Cells(i,10):ExitFor:把報廢率賦給K列單元格。退出Forj的循環(huán)。25、Forj=0ToUBound化(2):在一維數(shù)組k(2)中循環(huán)。26、IfCells(i,2)&|&Cells(i,4)=k(2)(j)Then:如果把生產(chǎn)型號和返修原因連起來的值等于字典d(2)的一個關(guān)鍵字時,執(zhí)行下面的代碼。27、Cells(i,5)=t(2)(j):
6、把相同生產(chǎn)型號和相同返修原因的返修數(shù)量賦給E列單元格。28、Cells(i,6)=Cells(i,5)/Cells(i,3):把返修數(shù)量除以生產(chǎn)數(shù)量得到的返修率賦給F列單元格。29、Cells(i,7)=Cells(i,6):ExitFor:把返修率賦給G列單元格。退出Forj的循環(huán)。30、Range(a3:k&n).SortKey1:=Range(b3),Order1:=xlAscending,Key2:=Range(d3),Order2:=xlAscending,Key3:=Range(h3),Order3:=xlAscending,Header:=xlGuess:本句開始給表格數(shù)據(jù)設(shè)置格
7、式了。本句是對A3開始的單元格區(qū)域按B3_升序、D3_升序、H3升序排序。31、Fori=3Ton:從第3行開始逐行循環(huán)。32、IfCells(i,2)Cells(i-1,2)Then:如果B列單元格的值與上一行單元格不相等則執(zhí)行下面的代碼。33、r=r+1:變量r加1以后賦給r。34、ReDimPreserveArr1(1Tor):重新聲明動態(tài)數(shù)組的大小。Preserve是ReDim語句的關(guān)鍵字,當(dāng)改變原有數(shù)組最末維的大小時,使用此關(guān)鍵字可以保持?jǐn)?shù)組中原來的數(shù)據(jù)。35、Arr1(r)=i:把單元格所在的行數(shù)賦給數(shù)組。經(jīng)過這輪循環(huán)就得到了各個生產(chǎn)型號的第一行的行數(shù)。也得到了生產(chǎn)型號的總數(shù)為r個
8、。36、Application.DisplayAlerts=False:把顯示警告設(shè)置為關(guān)閉,因為下面要合并單元格,Excel會顯示一個警告對話框來打斷代碼的運行,所以先關(guān)閉此功能。37、Forj=1Tor:在所有的生產(chǎn)型號中逐一循環(huán)。38、r3=0:r2=0:把兩個變量設(shè)置為零。39、IfjrThen:如果j不等于最后一個生產(chǎn)型號時,執(zhí)行下面的代碼。40、js=Arr1(j+1)-1:把下一個生產(chǎn)型號開始行的上面一行的行數(shù)賦給js。41、否則把最后一行的行數(shù)n賦給js變量。42、ks=Arr1(j):把生產(chǎn)型號的開始行的行數(shù)賦給變量ks。43、Ifjs一ks+11Then:如果結(jié)束行減去開始
9、行再加1的值大于1,就說明這個型號有多行需要合并,執(zhí)行下面的代碼。44、Cells(ks,1).Resize(js-ks+1,1).Merge:A列對應(yīng)的單兀格合并;下面B列和C列相應(yīng)的單元格也合并。45、Cells(ks,1)=j:A列依次填入序號。46、Forii=ksTojs:從開始行到結(jié)束行逐一循環(huán)。47、Ifii=ksThen:這個循環(huán)是為了求得D列返修原因是否有需要合并的單元格,如果ii=ks即是同一個生產(chǎn)型號中第一個返修原因的時候,把行數(shù)賦給動態(tài)數(shù)組,否則如果不等于上一行D列單元格的值時,把行數(shù)賦給動態(tài)數(shù)組的下一個元素。經(jīng)過這輪循環(huán)就得到了這個生產(chǎn)型號每一個返修原因的第一行的行數(shù)
10、。也得到了返修原因的總數(shù)為r2個。48、Forii=1Tor2:在這個循環(huán)中,把D歹U、E列F列相同的返修原因單元格合并,也匯總了G列的總返修率。49、Cells(ks,7).Resize(js-ks+1,1).Merge:把G列的總返修率單元格區(qū)域合并。50、Forii=ksTojs:從開始行到結(jié)束行逐一循環(huán)。這個循環(huán)是為了求得H列報廢原因是否有需要合并的單元格,經(jīng)過這輪循環(huán)就得到了這個生產(chǎn)型號每一個報廢原因的第一行的行數(shù)。也得到了報廢原因的總數(shù)為3個。51、Forii=1Tor3:在這個循環(huán)中,把H歹U、I列J列相同的報廢原因、報廢數(shù)量和報廢率單元格合并,也匯總了K列的總報廢率。52、Range(a3:k&n).Borders.LineStyle=1:把A3開始的單元格區(qū)域設(shè)置邊框。53、Application.DisplayAlerts=True:開啟程序顯示警告。54、Application.ScreenUpdating=True:開啟屏幕更新。代碼執(zhí)行后如圖實例12-2所示。圖實例12-2示例常見字典用法實例集錦到此告一段落了。字典就象一個二維數(shù)組Ar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中提前考試數(shù)學(xué)試卷
- 福建省質(zhì)檢卷數(shù)學(xué)試卷
- 高一年泉州統(tǒng)考數(shù)學(xué)試卷
- 福州初中五月數(shù)學(xué)試卷
- 甘肅15高考數(shù)學(xué)試卷
- 教師課件的制作培訓(xùn)
- 2025年浙江醫(yī)療衛(wèi)生招聘金華義烏市中醫(yī)醫(yī)院招聘4人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025年年唐都醫(yī)院住培醫(yī)師招錄筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025至2030城市建設(shè)規(guī)劃發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 二一年高考數(shù)學(xué)試卷
- 定向士官心理測試題及答案
- 2025至2030中國低溫氣體產(chǎn)品行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- e級籃球教練員理論考試試題及答案
- 高校教師資格證考試《高等教育心理學(xué)》真題及解析(2025年)
- T/CECS 10386-2024排水工程微型頂管用高性能硬聚氯乙烯管及連接件
- 店鋪轉(zhuǎn)讓合同協(xié)議書模板
- (王瑞元版本)運動生理學(xué)-課件-3-第三章-血液
- 濟南世創(chuàng)友聯(lián)有機硅科技有限公司年產(chǎn)1000 噸特種硅彈性體項目環(huán)評資料環(huán)境影響
- 2025中考(傳統(tǒng)文化)類滿分作文10篇
- 標(biāo)準(zhǔn)檢驗指導(dǎo)書(SIP)-鈑金
- 交易員心理培訓(xùn)課件
評論
0/150
提交評論