国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
VB,VBA優(yōu)化技巧整理
《Word非常接觸》目錄
[分享] 分享一些關(guān)于VBA代碼優(yōu)化提速的資料 [復(fù)制鏈接]
說(shuō)明:下面的資源是在網(wǎng)上收集到的關(guān)于VB的代碼優(yōu)化提速技巧的資料,鑒于VBA與VB的關(guān)系,資料中絕大多數(shù)技巧對(duì)于VBA同樣適用。其中的大多數(shù)代碼都是親自在VBA中測(cè)試過(guò)的,某些地方加了一點(diǎn)注解。
(1)固定長(zhǎng)度字符串?dāng)?shù)組:賦值快,釋放快!
          固定長(zhǎng)度字符串的處理速度通常慢于可變長(zhǎng)度字符串,這是因?yàn)樗械腣B字符串函數(shù)和命令只能識(shí)別可變長(zhǎng)度字符串.因此,所有固定長(zhǎng)度字符串必然被轉(zhuǎn)換為可變長(zhǎng)度字符串.
          但是,由于固定長(zhǎng)度字符串?dāng)?shù)組占據(jù)著一塊連續(xù)的內(nèi)存區(qū)域,因此在被分配以及釋放時(shí),速度明顯快于可變長(zhǎng)度的數(shù)組.比如:在一個(gè)Pentium 233MHz機(jī)器上,對(duì)于一個(gè)固定長(zhǎng)度為100,000的數(shù)組,給其中30個(gè)位置分配數(shù)值,大約只花費(fèi)半秒種的時(shí)間.而如果是可變長(zhǎng)度的數(shù)組,同樣的操作要耗費(fèi)8秒之多!后者的刪除操作耗時(shí)大約0.35秒,但固定長(zhǎng)度的數(shù)組幾乎可以立即"斃命"!如果應(yīng)用程序中涉及到這么大的一個(gè)數(shù)組操作,選擇固定長(zhǎng)度方式數(shù)組絕對(duì)是確定無(wú)疑的了,無(wú)論是分配數(shù)值,還是釋放操作,都可以風(fēng)馳電掣般完成.
(2)所有的比較操作結(jié)果或者是0(false),或者是-1(True).所以,下面例子中的2段代碼是完全相同的,但是第2段要運(yùn)行得快些:
1、傳統(tǒng)方法:
01.If SomeVar > SomeOtherVar Then
02.x = x + 1
03.End If
2、更簡(jiǎn)練的方法
01.x = x - (SomeVar > SomeOtherVar)
http://www.cnblogs.com/dxy1982/archive/2011/09/17/2159544.html

Excel VBA 學(xué)習(xí)總結(jié) - 代碼優(yōu)化之道

代碼規(guī)范的優(yōu)化
  優(yōu)化了算法,采用了合適的函數(shù)和對(duì)象實(shí)現(xiàn)了算法后,代碼其實(shí)還是有優(yōu)化的空間,比如編程習(xí)慣,代碼風(fēng)格等,下面從這些方面總結(jié)一下。
1、盡量減少無(wú)用的操作,如對(duì)象的激活和選擇
事實(shí)上大多數(shù)情況下激活和選擇操作都只是有一點(diǎn)視覺(jué)效果,但很遺憾這對(duì)于VBA來(lái)說(shuō)不是必需的。例如:

Sheets(″Sheet3″).Select
Range(″A1″).Value = 100
Range(″A2″).Value = 200可改為:

With Sheets(″Sheet3″)
 .Range(″A1″).Value = 100
 .Range(″A2″).Value = 200
End With
2、盡量減少使用對(duì)象引用,即減少“.”的使用,尤其在循環(huán)中
每一個(gè)Excel對(duì)象的屬性、方法的調(diào)用都需要通過(guò)OLE接口的一個(gè)或多個(gè)調(diào)用,這些OLE調(diào)用都是需要時(shí)間的,減少使用對(duì)象引用能加快VBA代碼的運(yùn)行。例如
(1)使用With語(yǔ)句。

Workbooks(1).Sheets(1).Range(″A1:A1000″).Font.Name=″Pay″
Workbooks(1).Sheets(1).Range(″A1:A1000″).Font.FontStyle=″Bold″則以下語(yǔ)句比上面的快:

With Workbooks(1).Sheets(1).Range(″A1:A1000″).Font
   .Name = ″Pay″
   .FontStyle = ″Bold″
End With
(2)使用對(duì)象變量。
  如果你發(fā)現(xiàn)一個(gè)對(duì)象引用被多次使用,則你可以將此對(duì)象用Set 設(shè)置為對(duì)象變量,以減少對(duì)對(duì)象的訪(fǎng)問(wèn)。如:
Workbooks(1).Sheets(1).Range(″A1″).Value = 100
Workbooks(1).Sheets(1).Range(″A2″).Value = 200則以下代碼比上面的要快:

Set MySheet = Workbooks(1).Sheets(1)
MySheet.Range(″A1″).Value = 100
MySheet.Range(″A2″).Value = 200 (3)在循環(huán)中要盡量減少對(duì)象的訪(fǎng)問(wèn)。

For k = 1 To 1000
 Sheets(″Sheet1″).Select
 Cells(k,1).Value = Cells(1,1).Value
Next k則以下代碼比上面的要快:

Set TheValue = Cells(1,1).Value
Sheets(″Sheet1″).Select
For k = 1 To 1000
 Cells(k,1).Value = TheValue
Next k
(3)在循環(huán)中要盡量減少對(duì)象的訪(fǎng)問(wèn)。
For k = 1 To 1000
 Sheets(″Sheet1″).Select
 Cells(k,1).Value = Cells(1,1).Value
Next k
則以下代碼比上面的要快:
Set TheValue = Cells(1,1).Value
Sheets(″Sheet1″).Select
For k = 1 To 1000
 Cells(k,1).Value = TheValue
Next k
3、有效地使用數(shù)組與變量,盡量少使用單元格直接參與計(jì)算
  通常單元格的操作都比較慢,可以先將單元格的值讀入變量或數(shù)組變量,對(duì)變量進(jìn)行運(yùn)算,這樣可以提高處理的速度。處理結(jié)束以后,只要用一個(gè)語(yǔ)句就可以將數(shù)組中的數(shù)據(jù)傳遞回單元格區(qū)域中。
  在創(chuàng)建已知元素的確定數(shù)組時(shí),使用Array函數(shù)對(duì)于節(jié)約空間和時(shí)間以及寫(xiě)出更具效率的代碼是非常理想的。例如:
Dim Names As Variant
Names=Array(“Fan”,“Yang”,“Wu”,“Shen”)   此外,應(yīng)該盡量使用固定大小的數(shù)組。如果確實(shí)選擇使用了動(dòng)態(tài)數(shù)組,應(yīng)該避免數(shù)組每增加一個(gè)元素就改變一次數(shù)組的大小,最好是每次增加一定數(shù)量的元素。
下面是一些擴(kuò)展讀物,有興趣的同學(xué)可以試試看:
vba執(zhí)行速度慢的對(duì)策
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
VBA系列講座(6):提高Excel中VBA的效率
Excel VBA(宏)精簡(jiǎn)(五)
如何在vfp中調(diào)用excel實(shí)現(xiàn)圖、表的制作(之二)
提高Excel中Vba的運(yùn)行速度的例子
VBA基礎(chǔ)--對(duì)象操作
Excel VBA 學(xué)習(xí)總結(jié)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服