久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Excel VBA 學習總結(jié)

 Excel實用知識 2021-11-21

1.什么是VBA,?

  當前輩們使用Excel的時候,,他們驚奇的發(fā)現(xiàn):Excel那是相當?shù)谋牒罚瑤缀跞魏蔚臄?shù)據(jù)分析與處理,,它都可以'近乎完美'(實際上不可能完美)完成,。但是在使用的過程中,他們也同樣發(fā)現(xiàn),,有很多工作是要重復(fù)做的,。如果要想自動重復(fù)的完成這些工作,必須要借助其他的編程語言和工具,。微軟為了簡化這個過程,,開發(fā)了一個通用的自動化語言,這個就是VBA(Visual Basic for Application),。所有支持VBA的應(yīng)用程序都可以方便的自動化執(zhí)行某些固定的步驟,,除此以外,支持VBA的應(yīng)用程序之間也可以通過VBA這個平臺進行互操作,。由于這里討論的是Excel中的VBA,,所以我后面的總結(jié)內(nèi)容都是以Excel中的VBA為主。

  VBA是VB的一個子集,,它們之間有些地方是不同的:

  • VB程序可以獨立的部署和運行,,但是VBA程序不能離開宿主程序運行。
  • VB程序是一個編譯型的語言,,程序需要編譯后執(zhí)行,,而VBA程序是解釋執(zhí)行的腳本語言。

  通過VBA這個工具,,Excel就可以完成許多自動化的任務(wù),,并且可以充分利用Office其它組件的功能。

2.VBA能做什么,?

  知道了VBA是什么東東后,,那么它能干什么呢,?確定的說,,VBA基本能做一切Excel能做的事,比如打印,,生成報表,,分析數(shù)據(jù),生成圖表等,,這是VBA最大的優(yōu)點,。不需要額外實現(xiàn)這些標準的功能,,只需要簡單的調(diào)用就可以了,Excel已經(jīng)做好了一切準備,。除了這個好處,,VBA其實還能處理很多的任務(wù):

  • 自定義Excel的外觀,菜單,,工具欄等,。
  • 重復(fù)執(zhí)行自動化操作。
  • 操作文件和文件夾
  • 訪問數(shù)據(jù)庫并執(zhí)行相關(guān)操作
  • 訪問網(wǎng)絡(luò)
  • 操作XML
  • 獲取系統(tǒng)信息
  • 操作和自動化Office其它組件(支持VBA的其他公司的產(chǎn)品也可以操作)

  除了上述的任務(wù)外,,VBA還有很多其它的功能有待發(fā)掘,。

3. VBA與Macro

  Macro是一組Excel能理解并執(zhí)行的命令集合。借助宏錄制器,,我們能得到這些宏命令翻譯后的VBA代碼,。這是最簡潔獲得VBA代碼的方式,也是VBA開發(fā)最主要的模式,。

4. VBA小結(jié)

  VBA的語法很簡單,,這里就不再詳述了。我個人學習新語言的習慣都是,,先了解一下這個語言出現(xiàn)的背景,,然后了解一下語言改進的地方,最后是實踐一下基本的語法,,研究語言運行的機制和部署情況,。經(jīng)過這個步驟以后,我就做幾個實際小例子鞏固鞏固,。我學習VBA的小結(jié)如下:

  • Module是VBA組織代碼的最小單元,。
  • VBA是不分大小寫的,所以更要養(yǎng)成良好的編程習慣,。
  • 代碼可以一行寫多句,,用':'隔開,也可以一句寫在多行,,行末用'_'標識,。
  • Module成員的訪問限定:

    Public: 當前程序中的所有模塊都可以訪問該成員,如果方法默認不加限定符的話,,當Public處理,;Public成員只能在Module中定義。

    Dim/Private:只有本Module內(nèi)部的所有方法才能訪問這些成員,。當然方法是不能用Dim定義的,。

    Friend:只能用于對象模塊或者窗體模塊,作用范圍是當前程序中的其他對象模塊可以訪問該成員,。

  • Const定義恒定變量的時候,,只能在Module中定義,,不能在方法內(nèi)定義;前面可以加Public/Private限定,。
  • 有一點比較惡心,,對象賦值用'Set...=',其余的一切賦值用'=',,包括對象的屬性賦值,。
  • 可以使用Type在模塊級別中定義包含一個或多個元素的用戶自定義的數(shù)據(jù)類型。
  • 根據(jù)使用情況(比如需要的存儲大小)選用合適的變量類型,,一般都應(yīng)該明確定義變量類型,,不要使用默認的Variant類型。
  • 當需要使用變長集合的時候,,可以考慮使用動態(tài)數(shù)組(使用ReDim和Preserve),。
  • Nothing、Empty與Null的比較:

    Nothing:這是一個指向空對象的對象引用,。將對象引用設(shè)置為Nothing,,就釋放了那個對象。如果沒有其他的引用指向?qū)ο?,VB/VBA就將銷毀這個對象,。可以使用“Obj is Nothing”的方式檢查,。
    Empty:這是一個象Integer或者String一樣的變量類型,,它表示了一個還沒有進行初始化的變量。它與Null的意義不同,,Null表示沒有合法數(shù)據(jù),。例如數(shù)組,集合剛定義,,還沒有賦值之前就是這個狀態(tài),,可以使用內(nèi)置方法IsEmpty檢查。
    Null:這是一個象Integer或者String一樣的變量類型,,它表示一個沒有合法數(shù)據(jù)的變量,。這有別于zero、Nothing,、Empty或者vbNullString,。Null參與的運算,都將產(chǎn)生Null結(jié)果,??梢杂脙?nèi)置方法IsNull檢查,。

  • 使用'For Each'語句枚舉集合成員,。
  • 使用'For'語句執(zhí)行固定次數(shù)的循環(huán),。
  • 使用'Do While/Until...Loop'或者'While...Wend'語句執(zhí)行不定次數(shù)的循環(huán)。
  • 使用'If'語句執(zhí)行2分支的選擇,。
  • 使用'Switch Case'語句執(zhí)行n分支的選擇,。
  • 使用'With'語句減少重復(fù)對象的書寫。
  • 在Module開始的時候,,加上'Option Explicit'可以強制變量使用前必須聲明,。
  • 類型定義的簡短寫法:例如定義整形,可簡寫為:Dim i% 

    Integer %       
    Long &
    Single !
    Double #
    Currency @
    String $
    String*size $

  • 方法調(diào)用可以加括號,,也可以不加括號,;如果要是加括號,特別是含有多個參數(shù)的時候,,則前面需要加上'Call',。
  • 方法是支持可選參數(shù)的,參數(shù)前用'Optional'標識并用'='提供默認值,??蛇x參數(shù)用'參數(shù)名:=值'的方式傳值特別方便。
  • 連接多個變量時,,盡量使用強制連接符'&',,少使用混和連接符'+'。
  • 在合適的時候,,盡量多使用位操作(XOR,OR,AND,NOT)等完成多個Boolean類型的相關(guān)判斷與操作,,而不是直接使用'IF'判斷。
  • 最重要的兩點:當你不知道如何下手的時候,,請嘗試錄一個宏看看,;批判吸收多個人的知識,并不是所有寫出來的都是對的,,實踐是檢驗真理的唯一標準,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多