excelvba限制使用時(shí)間 如何優(yōu)化EXCEL vba代碼?
如何優(yōu)化EXCEL vba代碼?怎么優(yōu)化系統(tǒng)EXCELvba代碼?下面談一談個(gè)人的看法,若有不當(dāng)之處,熱情斧正。1、解決問(wèn)題的思路、算法的問(wèn)題;選用適合的工具解決問(wèn)題。比如,程序要進(jìn)行排序。排序有多種
如何優(yōu)化EXCEL vba代碼?
怎么優(yōu)化系統(tǒng)EXCELvba代碼?
下面談一談個(gè)人的看法,若有不當(dāng)之處,熱情斧正。
1、解決問(wèn)題的思路、算法的問(wèn)題;選用適合的工具解決問(wèn)題。
比如,程序要進(jìn)行排序。
排序有多種,每種排序的效率不盡相同,區(qū)分的數(shù)據(jù)范圍和條件也是一樣的。
參照數(shù)據(jù)的換算情況來(lái)你選擇適合的排序。
下面共有是工作表排序、冒泡排序、快速排序、計(jì)數(shù)法排序處理5000條數(shù)據(jù)的速度都很,很顯然,冒泡排序需要0.68秒,是最慢的。
當(dāng)一次性處理5萬(wàn)條數(shù)據(jù)的時(shí)候,冒泡排序看來(lái)是最不很給力的。
上面幾種排序中,工作表排序算法速度是太快的,并且可以不將數(shù)組中的數(shù)據(jù)傳達(dá)消息到工作表,排序后再訊息傳遞回?cái)?shù)組中。
在實(shí)際中,當(dāng)數(shù)組的元素達(dá)到10000個(gè)時(shí),選擇類(lèi)型用冒泡排序效率就非常低了。
快速排序和計(jì)數(shù)排序只可以參照于integer和way數(shù)據(jù)類(lèi)型的排序,速度都相當(dāng)快。
又如,字典在達(dá)到10萬(wàn)數(shù)據(jù)的時(shí)候,速度就慢了,此時(shí)執(zhí)著于用字典全面處理就越發(fā)有心無(wú)力了。你選擇用SQL方法是還好的選擇。
當(dāng)要去處理100萬(wàn)數(shù)據(jù)的時(shí)候,用Excel全面處理就不比較好了,選用數(shù)據(jù)庫(kù)是比較比較合適的。
代碼、軟件也是工具,選用適合的就好。
最合適的工具、方法幫忙解決比較好的問(wèn)題應(yīng)該是最好的優(yōu)化。
2、從操作單元格進(jìn)階為操作數(shù)組和字典。
下面兩個(gè)代碼四個(gè)圖案填充1-10000到單元格A1:A10000.
Sub單元格()
Dimiamp
t1Time
Fori1need10000
Cells(i,1)i
Nexti
t2Time
共花去ampDateDiff(s
有沒(méi)有,一個(gè)軟件,能對(duì)Word、ppt文檔設(shè)置閱讀時(shí)間限制,或者閱讀次數(shù)。超過(guò)次數(shù)自定鎖定?
微軟的OFFICE本身就有這個(gè)二次開(kāi)發(fā)性
需要會(huì)一點(diǎn)點(diǎn)VBA知識(shí)即可解決