




已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VBA基礎(chǔ) 2020 3 13 數(shù)組 VBA程序流程控制 VBA常用語句 VBA編程基礎(chǔ) VBA概念 VBA概念 1 1VBA簡介 VBA VisualBasicforApplication 是MicrosoftOffice系列軟件的內(nèi)置編程語言 其語法結(jié)構(gòu)與VisualBasic編程語言互相兼容 采用的是面向?qū)ο蟮木幊虣C制和可視化的編程環(huán)境 1 2面向?qū)ο蟪绦蛟O(shè)計的基本概念 1 集合和對象VBA中的應(yīng)用程序是由許多對象組成的 如表 窗體 查詢等 對象是幫助構(gòu)造應(yīng)用程序的元素 以特定的方式組織這些對象 就形成了應(yīng)用程序 2 對象的屬性 事件和方法屬性屬性描述了對象的自身性質(zhì)其格式為 對象名 屬性 屬性值 1 2面向?qū)ο蟪绦蛟O(shè)計的基本概念 事件事件是指可以發(fā)生在一個對象上且能夠被該對象所識別的動作 如 單擊某個命令按鈕就產(chǎn)生該按鈕的 單擊 事件當(dāng)某個對象發(fā)生某一事件后 就會驅(qū)動系統(tǒng)去執(zhí)行預(yù)先編好的 與這一事件相對應(yīng)的一段程序 方法方法是系統(tǒng)事先設(shè)計好的 可以完成一定操作的特殊過程 是附屬于對象的行為和動作 在需要使用的時候可以直接調(diào)用 其格式為 對象名 方法名 常見對象及其含義 1 3VBA編程環(huán)境 VBA中的程序與函數(shù)共有 種 一般程序 Sub 事件程序 Event 屬性程序 Property 和函數(shù) Function VBA程序窗口共 種 代碼窗口 立即窗口 本地窗口 監(jiān)視窗口 工程資源管理器和屬性窗口在VBE環(huán)境中編寫VBA代碼 工程窗口 選擇對象 屬性窗口 選擇對象的屬性 代碼窗口 選擇事件 VBE編程環(huán)境 標(biāo)準(zhǔn)工具條 視圖MicrosoftExcel按鈕 切換Excel窗口 插入按鈕 插入模塊或過程 運行子過程 用戶窗體按鈕 運行模塊中的程序 中斷按鈕 中斷正在運行的程序 重新設(shè)置按鈕 結(jié)束正在運行的程序 設(shè)置模式按鈕 在設(shè)計模式和非設(shè)計模式之間切換 工程資源管理器按鈕 用于打開工程資源管理器 屬性窗口按鈕 用于打開屬性窗口 對象瀏覽器按鈕 用于打開對象瀏覽器 MicrosoftExcel 插入模塊 運行子過程 用戶窗體 設(shè)計模式 中斷 重新設(shè)計 工程資源管理器 對象瀏覽器 屬性窗口 新建一個窗體并添加兩個命令按鈕 運行窗體后 單擊第一個按鈕 顯示一個消息框 單擊第二個按鈕 退出當(dāng)前窗體 通過此例 體會可視化編程 面向?qū)ο?事件過程 應(yīng)用方法等基本概念 數(shù)組 VBA程序流程控制 VBA常用語句 VBA編程基礎(chǔ) VBA概念 VBA編程基礎(chǔ) 2 1常量 變量 VBA使用常量 變量來存儲值 用來保存在程序運行期間數(shù)據(jù) 常量 在程序運行中其存儲的值不會改變 變量 在程序運行中其值可以改變 2 1 1常量 在程序運行過程中 其值不會被改變的量稱為常量 在VBA中有三類常量 1 直接常量如 10 20 123 0 AB VBA程序設(shè)計 等2 符號常量3 系統(tǒng)常量指VBA系統(tǒng)預(yù)先定義好的 用戶可以直接引用的量 如 acForm acQuery vbOk vbRed 符號常量 在程序中 某個常量多次被使用 則可以使用一個符號來代替該常量 這樣不僅在書寫上方便 而且有效地改進了程序的可讀性和可維護性 VBA中使用關(guān)鍵字Const聲明符號常量 其格式如下 Const常量名 類型符號 常數(shù)表達式如 ConstPI 3 1415926 2 1 2變量 變量是內(nèi)存中的臨時單元 存放在程序執(zhí)行過程中產(chǎn)生的中間結(jié)果和最后輸出結(jié)果 在程序中使用變量 就要給變量定義名稱及類型 即對變量進行聲明 變量命名規(guī)則 1 變量名必須以字母或漢字開頭 后可跟字母 漢字 數(shù)字或下劃線組成 不能含有小數(shù)點和空格 長度不超過255個字符的字符串 2 不能使用VBA中的關(guān)鍵字 3 VBA中不區(qū)分變量名的大小寫 4 變量名的最后一個字符可以是 等表示數(shù)據(jù)類型的聲明符 說明 常量名的命名規(guī)則與變量名的命名規(guī)則相同 2 2數(shù)據(jù)類型與變量的聲明 在VBA中 數(shù)據(jù)類型用來決定變量可以保存何種數(shù)據(jù) VBA支持多種數(shù)據(jù)類型 為用戶編程提供了方便 2 2 1VBA的數(shù)據(jù)類型 2 2 2變量聲明 用Dim或Static語句顯式聲明局部變量格式 Dim變量名 AS類型 或Dim變量名類型符語句中的 As類型 子句是可選的 如果使用該子句 就可以定義變量的數(shù)據(jù)類型 未使用 默認變量的類型為變體型 Variant 例如 DimiAsinteger s表示聲明了一個名為i的整型變量和一個名為s的變體型變量 關(guān)鍵字Dim或Static的區(qū)別 Dim聲明 隨過程的調(diào)用而分配存貯單元 每次調(diào)用都對變量初始化 過程體結(jié)束 變量的內(nèi)容自動消失 存儲單元釋放 Static聲明 Static聲明的變量 也稱為靜態(tài)變量 靜態(tài)變量在程序運行過程中一直保留其值 即每次調(diào)用過程 變量保持原來的值 數(shù)據(jù)類型的轉(zhuǎn)換函數(shù)列表 識別數(shù)據(jù)類型的函數(shù)TypeName Subabc DimiAsIntegerDimstrAsStringi 10MsgBoxTypeName i str CStr i MsgBoxTypeName str EndSub 隱式聲明變量 未進行上述的聲明而直接使用變量 稱變量的隱式聲明 采用隱式聲明的變量都是變體型 Variant 注意 VBA中允許不事先聲明而直接使用變量 可以通過語句OptionExplicit 來要求所使用的變量必須事先聲明 否則VBA會發(fā)出警告信息 變量a b Sum都沒有事先定義 PrivateSubForm Click Sum 0a 10b 20Sum a bDebug Print Sum SumEndSub 良好的編程習(xí)慣應(yīng)該是 先聲明變量 后使用變量 這樣做可以提高程序的效率 同時也使程序易于調(diào)試 VBA中可以強制顯式聲明 可以在窗體模塊 標(biāo)準(zhǔn)模塊和類模塊的通用聲明段中加入語句 OptionExplicit 變量的初始化 聲明而未賦值的變量的值為 數(shù)值型變量初始化為0 字符型變量為零長度字符串 變體型變量初始化為Empty 2 3 1算術(shù)運算符 2 3 2連接運算符 連接運算符 字符串連接 例如 123 456 結(jié)果 123456 123 456 結(jié)果 123456 使用上 與 的區(qū)別 例如 abcdef 12345結(jié)果為 abcdef12345 123 456結(jié)果為 123456 abcdef 12345結(jié)果為出錯 123 456結(jié)果為579 2 3 3關(guān)系運算符 將兩個操作數(shù)進行大小比較 結(jié)果為邏輯值 注意 字符串比較 則按字符的ASCII碼值從左到右一一比較 直到出現(xiàn)不同的字符為止 2 3 4邏輯運算符 將操作數(shù)進行邏輯運算 結(jié)果是邏輯值 舉例 例1 用人單位招聘秘書 年齡小于40歲的女性 學(xué)歷??苹虮究?正確的VBA表達式 3 xAndx 7錯誤的VBA表達式 3 x 7或3 xOrx 7 年齡 40 性別 女 學(xué)歷 ???學(xué)歷 本科 AndAndOr 例2 算術(shù)表達式 2 3 5簡單的字符處理函數(shù) OptionCompare設(shè)置字符串比較規(guī)則 OptionCompare Binary Text Database OptionCompareBinary 是根據(jù)字符的內(nèi)部二進制表示導(dǎo)出的一種排序A Z a z 漢字OptionCompareText 是根據(jù)系統(tǒng)區(qū)域確定的一種不區(qū)分大小寫的一種排序 A a B b Z z 結(jié)果 True 結(jié)果 False StrComp比較兩個字符串 StrConv字符串類型轉(zhuǎn)換 StrConv字符串類型轉(zhuǎn)換 例 MsgBoxstrConv English vbUpperCase Chr 10 strConv English vbLowerCase Chr 10 strConv english vbProperCase Chr 10 strConv English vbWide Format格式化字符串 MsgBoxFORMAT Date yyyy年m月d日 Chr 10 FORMAT Date aaaa vbaOKOnly 現(xiàn)在是 LCase UCase大小寫轉(zhuǎn)換 Sub大小寫轉(zhuǎn)換 MsgBoxLCase HELLOWORLD Chr 10 UCase helloworld EndSub String Space重復(fù)字符 Sub重復(fù)字符 MsgBoxString 5 Space 3 String 5 EndSub Lset Rset字符串往左 右對齊 Sub字符左右對齊 Dimstr1 str2AsStringstr1 大連華信計算機技術(shù)股份有限公司 LSetstr1 華信培訓(xùn) str2 大連華信計算機技術(shù)股份有限公司 RSetstr2 華信培訓(xùn) MsgBox str1 Chr 10 str2 EndSub Instr返回字符出現(xiàn)位置 Sub查找位置 MsgBoxInStr 大連華信計算機技術(shù)股份有限公司 信 EndSub Left Mid Right從左 中 右取值 Sub取值 DimstrAsStringstr 大連華信計算機技術(shù)股份有限公司 MsgBoxLeft str 2 Mid str 3 2 Right str 2 EndSub LTrim RTrim Trim去除空格 Subabc Dimstr1 str2AsStringstr1 大連 str2 華信 MsgBoxTrim str1 str2 666 MsgBoxLTrim str1 RTrim str2 666 EndSub Like字符串相似度比較 Subabc result stringlikpattern 任何單一字符 零個或多個字符 任何一個數(shù)字 0 9 Dimstr1AsStringstr1 abda Ifstr1Like ThenMsgBox 相似 Ifstr1Like a ThenMsgBox 相似 If1234Like ThenMsgBox 相似 EndSub 2 4表達式 組成由變量 常量 函數(shù)等運算對象加上運算符 圓括號組成的式子 書寫規(guī)則 1 運算符不能相鄰 例a b是錯誤的 2 乘號不能省略 例x乘以y應(yīng)寫成 x y 3 括號必須成對出現(xiàn) 均使用圓括號 4 表達式從左到右在同一基準(zhǔn)上書寫 無高低 運算優(yōu)先級算術(shù)運算符 連接運算符 關(guān)系運算符 邏輯運算 2 5常用函數(shù) 函數(shù)實際上是系統(tǒng)事先定義好的內(nèi)部程序 用來完成特定的功能 VBA提供了大量的內(nèi)部函數(shù) 供用戶在編程時使用 函數(shù)的調(diào)用形式為 函數(shù)名 參數(shù)表 常用內(nèi)部函數(shù)常用內(nèi)部函數(shù) 在立即窗口練習(xí) 體會函數(shù)的功能 請參照 VBA函數(shù)參考手冊 2 6模塊 函數(shù)和過程 模塊是自定義的過程 函數(shù)保存的地方 也是錄制的宏保存的場所 有兩種基本類型的模塊 類模塊和標(biāo)準(zhǔn)模塊 模塊可以通過右鍵單擊工程資源管理器的工程名 選擇 插入 模塊 來新建 新建的模塊缺省的名稱為 模塊1 模塊2 建議在屬性窗口內(nèi)更改為有意義的名稱 模塊任務(wù) 1 保存過程和函數(shù) 2 定義模塊內(nèi)的私有變量或整個工程的公有變量 2 7過程 過程是最基本的運行單位語法 Private Public Friend Static Subname arglist statements ExitSub statements EndSub在以上程序中 Sub代表過程種類 表示運行指定的操作 但不返回運行結(jié)果 部分描述 2 8函數(shù) 函數(shù)是具有返回值的過程語法 Public Private Friend Static Functionname arglist Astype statements name expression ExitFunction statements name expression EndFunction 部分描述 函數(shù)和過程區(qū)別 調(diào)用一個過程 Sub 時 必須鍵入過程名稱以及任何需要的參數(shù)值 Call語句可有可無 如果使用它 則參數(shù)必須以括號括起來 調(diào)用函數(shù) Function 時 為了使用函數(shù)的返回值 必須指定函數(shù)給變量 并且用括號將參數(shù)封閉起來 數(shù)組 VBA程序流程控制 VBA常用語句 VBA編程基礎(chǔ) VBA概念 VBA常用語句 3 1VBA語句書寫規(guī)則 VBA代碼不區(qū)分字母的大小寫系統(tǒng)保留字自動轉(zhuǎn)換每個單詞的首字母大寫 語句書寫自由一行可書寫幾句語句 之間用冒號 分隔 一句語句可分若干行書寫 用續(xù)行符 將語句分開 3 2VBA常用語句 賦值語句 給變量 常量或?qū)ο蟮膶傩灾付ㄒ粋€值或表達式 格式 變量名 表達式作用 將表達式的值賦值給變量名 一般用于給變量賦值或?qū)丶O(shè)定屬性值 例如 s 10Text1 Text 歡迎使用VBA 注意 雖然賦值號與關(guān)系運算符等于號都用 表示 VBA會根據(jù)所處的位置自動判斷是何種意義的符號 聲明語句 命名和定義常量 變量 數(shù)組以及過程 注釋語句在程序中的適當(dāng)位置加上注釋語句有利于程序的維護和閱讀 格式 Rem注釋內(nèi)容或用單引號 注釋內(nèi)容 數(shù)組 VBA程序流程控制 VBA常用語句 VBA編程基礎(chǔ) VBA概念 VBA程序流程控制 順序 分支 循環(huán) 結(jié)構(gòu)化程序設(shè)計由順序 分支 循環(huán)這3種基本結(jié)構(gòu)所組成 4 1分支結(jié)構(gòu) 單行If語句格式 If表達式Then語句1 Else語句2 功能 If測試指定的條件 如果條件表達式為真 True 則執(zhí)行Then后面的語句1 否則執(zhí)行語句2 若Else子句未省略 PrivateSubp1 DimxAsInteger yAsIntegerx InputBox 請輸入x值 Ifx 0Theny 2 x 1Elsey 1MsgBox y yEndSub 根據(jù)輸入x的值 觀察y的輸出結(jié)果 單行If語句舉例 多行If語句 語句組可以由一條或多條語句組成 語句組不能與Then書寫在同一行 否則VBA認為是一個單行If語句 會導(dǎo)致Else沒有匹配的If 語句 EndIf 是多行If語句的結(jié)束標(biāo)志 在多行If語句中 即使省略Else子句 也要寫該結(jié)束標(biāo)志 省略Else子句時的多行If語句形式為 If表達式Then語句組EndIf 例 計算分段函數(shù) 單行If語句實現(xiàn) Ifx 0Theny cos x x 3 3 xIfx0Theny sin x sqr x x 1 多行If語句實現(xiàn) Ifx0Theny sin x sqr x x 1 Elsey cos x x 3 3 xEndIf If語句的嵌套 If語句的嵌套是指If或Else后面的語句塊中又包含If語句 IfThenIfThen EndIf EndIf 例 已知x y z三個數(shù) 使得x y z用一個IF語句和一個嵌套的IF語句實現(xiàn) Ifx yThent x x y y tIfy zThent y y z z tIfx yThent x x y y tEndIfEndIf If語句的嵌套注意事項 書寫鋸齒型 If與EndIf配對 IfThenElseIfThen Else語句塊n 1 EndIf If Then ElseIf語句 多分支結(jié)構(gòu) 說明 不管有幾個分支 依次判斷 當(dāng)某條件滿足 執(zhí)行相應(yīng)的語句 其余分支不再執(zhí)行 若條件都不滿足 且有Else子句 則執(zhí)行該語句塊 否則什么也不執(zhí)行 ElseIf不能寫成ElseIf 例 已知百分制成績mark 顯示對應(yīng)的五級制成績下列三種方法哪些正確 哪些錯誤 與同類型的下面四種形式之一 表達式例 A 一組枚舉表達式 用逗號分隔 2 4 6 8表達式1To表達式260To100Is關(guān)系運算符表達式Is 60 語句格式 SelectCase變量或表達式Case表達式列表1語句塊1Case表達式列表2語句塊2 CaseElse語句塊n 1 EndSelect 數(shù)值型或字符串表達式 SelectCase語句 情況語句 程序流程圖 變量strC中存放一個字符 判斷該字符類型 例如 在輸入成績文本框中輸入一個分數(shù) 單擊 判斷 命令按鈕后 在成績等級文本框中顯示對應(yīng)的成績等級 輸入的成績在90 100分為A 80 89分為B 70 79分為C 60 69分為D 0 59分為E 否則顯示出錯信息 注意 根據(jù)題意 當(dāng)輸入的成績不在 0 100 內(nèi)時 應(yīng)顯示出錯信息 在該范圍內(nèi)時 應(yīng)進行分等級 判斷是否為合法成績可用If語句 而分等級最好使用SelectCase語句 條件函數(shù) IIf函數(shù)形式為 IIf 表達式 當(dāng)表達式為True時的值 當(dāng)表達式為False時的值 例如 求x y中大的數(shù) 放入max變量中 max IIf x y x y 循環(huán)結(jié)構(gòu) For Next循環(huán)Do Loop循環(huán) For Next循環(huán)語句 For Next循環(huán)結(jié)構(gòu) 將一段程序重復(fù)執(zhí)行指定的次數(shù) 其中使用一個計數(shù)變量 統(tǒng)計執(zhí)行的次數(shù) 格式 For循環(huán)變量 初值to終值 Step步長 語句塊 ExitFor 語句塊Next 循環(huán)變量 循環(huán)變量 終值 ExitFor 語句塊 注意 功能 執(zhí)行For語句時 循環(huán)變量 設(shè)為 初值 執(zhí)行到Next語句時 步長加 減 到循環(huán)變量上 再執(zhí)行For語句時 若 循環(huán)變量 超過 終值 則循環(huán)結(jié)束 步長 未指定值時默認為1 若 步長 是正數(shù)或0 則 初值 應(yīng)大于等于 終值 否則 初值 應(yīng)小于等于 終值 例 計算累加程序S 1 2 3 4 x 并輸出結(jié)果 方法 接收一個累加的終值 確定一個循環(huán)變量 循環(huán)變量有2個作用 加數(shù)和循環(huán)變量 確定一個存儲累加和的變量 使用循環(huán)計算 最后輸出顯示結(jié)果 DimsAsinteger xAsintegerx InputBox 請輸入累加的終值 Fori lToxs s iNext思考 計算 1 3 5 7 X或2 4 6 8 X如何編寫 例 計算累乘程序S 1 2 3 4 X 方法 接收一個累乘的終值 確定一個循環(huán)變量 循環(huán)變量有2個作用 乘數(shù)和循環(huán)變量 確定一個存儲累乘積的變量 使用循環(huán)計算 最后輸出顯示結(jié)果 DimSAsinteger iAsintegerx InputBox 請輸入累加的終值 S 1Fori lToxS S iNext注意 累乘的乘數(shù)和乘積變量的初值為1 注意 出了循環(huán) 循環(huán)控制變量值的問題 例程序段 Fori 2To13Step3循環(huán)執(zhí)行次數(shù)debug Printi輸出i的值分別為 25811Nextidebug Printi出了循環(huán)輸出為 i 14 例 改變循環(huán)控制變量對循環(huán)的影響 PrivateSubCommand1 Click j 0Fori 1To20Step2i i 3j j 1Print 第 j 次循環(huán)i iNextiPrint 退出循環(huán)后i iEndSub正常情況 i 1 3 5 7 9 11 13 15 17 19現(xiàn)在 i 4 9 14 19 Do Loop循環(huán)語句 形式1 Do While Until 語句塊 ExitDo語句塊 Loop 形式2 Do語句塊 ExitDo語句塊 Loop While Until Do Loop循環(huán)語句 Do Loop語句 循環(huán)結(jié)構(gòu) DoWhile Loop語句DoUntil Loop語句Do LoopWhile語句Do LoopUntil語句 DoWhile Loop語句 i 1DoWhilei 10s s ii i 1Loop當(dāng)i 10成立時 執(zhí)行循環(huán)體循環(huán)變量i必須有初值防止產(chǎn)生死循環(huán)有可能一次也不執(zhí)行循環(huán)體 修改循環(huán)控制變量 改變加數(shù)值 Do LoopWhile i 1Dos s ii i 1LoopWhilei 10當(dāng)i 10成立時 執(zhí)行循環(huán)體循環(huán)變量i必須有初值防止產(chǎn)生死循環(huán)至少執(zhí)行一次循環(huán)體 修改循環(huán)控制變量 改變加數(shù)值 DoUntil Loop i 1DoUntili 10s s ii i 1Loop當(dāng)i 10成立時 結(jié)束執(zhí)行循環(huán)體循環(huán)變量i必須有初值防止產(chǎn)生死循環(huán)有可能一次也不執(zhí)行循環(huán)體 修改循環(huán)控制變量 改變加數(shù)值 Do LoopUntil i 1Dos s ii i 1LoopUntili 10當(dāng)i 10成立時 結(jié)束執(zhí)行循環(huán)體循環(huán)變量i必須有初值防止產(chǎn)生死循環(huán)至少執(zhí)行一次循環(huán)體 修改循環(huán)控制變量 改變加數(shù)值 補充 While Wend語句 格式如下 WhileWend說明 該語句的功能與DoWhile Loop實現(xiàn)的循環(huán)完全相同 注意 三種循環(huán)語句 即For Do Loop 共同的特點是重復(fù)執(zhí)行一個語句系列 循環(huán)體 不同點是控制重復(fù)次數(shù)的時機和方法不一樣 數(shù)組 VBA程序流程控制 VBA常用語句 VBA編程基礎(chǔ) VBA概念 數(shù)組 5 1數(shù)組的概念 數(shù)組 數(shù)組不是一種數(shù)據(jù)類型 而是一組相同類型的變量的集合 可以像使用普通變量一樣使用數(shù)組中的每一個元素 使用數(shù)組的好處是用一個數(shù)組名代表邏輯上相關(guān)的一批數(shù)據(jù) 用下標(biāo)表示該數(shù)組中的各個元素 可以提高處理數(shù)據(jù)的效率 縮短和簡化程序 5 2數(shù)組的定義 數(shù)組不是一種數(shù)據(jù)類型 而是一組相同類型的變量的集合 數(shù)組必須先聲明后使用 兩類數(shù)組 靜態(tài) 定長 數(shù)組 動態(tài) 可變長 數(shù)組1 一維數(shù)組定義一維數(shù)組的形式 Dim數(shù)組名 下界To 上界 As類型 聲明了數(shù)組的名 維數(shù) 大小 類型 說明 數(shù)組名的命名規(guī)則與變量的命名相同 數(shù)組的元素個數(shù) 上界 下界 1 缺省為0 若希望下標(biāo)從1開始 可在模塊的通用部分使用OptionBase語句將設(shè)為1 其使用格式是 OptionBase0 1 后面的參數(shù)只能取0或1例如 OptionBase1 將數(shù)組聲明中缺省下標(biāo)設(shè)為1和不能使用變量 必須是常量 常量可以是直接常量 符號常量 一般是整型常量 例 Dimmark 1to100 AsInteger 例 Dima 1to3 AsInteger聲明一維數(shù)組a 包含了5個整型元素a 1 a 0 a 1 a 2 a 3 如果省略As子句 則數(shù)組的類型為變體類型 數(shù)組中各元素在內(nèi)存占一片連續(xù)的存儲空間 一維數(shù)組在內(nèi)存中存放的順序是按下標(biāo)大小的順序 注意 在定義靜態(tài)數(shù)組時 每一維的元素個數(shù)必須是常數(shù) 不能是變量或表達式 如 錯誤的聲明 下標(biāo)是變量Dimx n 或 n Inputbox 輸入n Dimx n AsSingle 在數(shù)組聲明中的下標(biāo)說明了數(shù)組的整體 即每維的大小 而在程序其他地方出現(xiàn)的下標(biāo)表示數(shù)組中的一個元素 兩者寫法形式相同 但意義不同 例如 Dimx 10 AsIntegerx 10 100 表示聲明了數(shù)組x 有11個數(shù)組元素 對x 10 這個數(shù)組元素賦值 5 3二維數(shù)組 定義二維數(shù)組的形式 Dim數(shù)組名 下界1To 上界1 下界2To 上界2 As類型例如 Dima 2 3 AsSingle二維數(shù)組在內(nèi)存的存放順序是 先行后列 數(shù)組a的各元素在內(nèi)存中的存放順序是 a 0 0 a 0 1 a 0 2 a 0 3 a 1 0 a 1 1 a 1 2 a 1 3 a 2 0 a 2 1 a 2 2 a 2 3 例 DimlArray 0To3 0To4 AsLong共有4 5個元素等價于 DimlArray 3 4 AsLong 5 4動態(tài)數(shù)組 動態(tài)數(shù)組指在聲明數(shù)組時未給出數(shù)組的大小 省略括號中的下標(biāo) 當(dāng)要使用它時 隨時用ReDim語句重新指出數(shù)組大小 形式如下 ReDim數(shù)組名 下標(biāo) 下標(biāo)2 As類型 例 PrivateSubS1 Dimx AsSingle n Inputbox 輸入n ReDimx n EndSub 說明 Dim Static Public聲明語句是說明性語句 可出現(xiàn)在過程內(nèi)或通用聲明段 ReDim語句是執(zhí)行語句 只能出現(xiàn)在過程內(nèi) 在過程中可多次使用ReDim來改變數(shù)組元素的個數(shù)ReDim中的下標(biāo)可以是常量 也可以是有了確定值的變量 如 n InputBox 輸入n的值 ReDimArr n 靜態(tài)數(shù)組在程序編譯時分配存儲單元 動態(tài)數(shù)組在運行時分配存儲單元 5 5數(shù)組的基本操作 1 數(shù)組
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務(wù)信息保密及第三方審計協(xié)議
- 智能辦公系統(tǒng)與辦公室裝修一體化項目合同
- 收養(yǎng)協(xié)議書范本范文
- 賣公司協(xié)議書范本
- 研發(fā)中心場地租賃保證金技術(shù)轉(zhuǎn)移轉(zhuǎn)化協(xié)議
- 創(chuàng)業(yè)公司財務(wù)總監(jiān)股權(quán)分配及風(fēng)險控制聘用合同
- 河道渣土清運協(xié)議書范本
- 美國出口貨物貨運代理合同范本
- 機場擴建征地拆遷補償協(xié)議書
- 企業(yè)并購重組稅務(wù)處理與咨詢服務(wù)合同
- 汽車行業(yè)焊接車間工位縮寫
- DB61-T 5068-2023 鋼橋面改性聚氨酯混凝土鋪裝應(yīng)用技術(shù)規(guī)程
- 基于水凝膠模板原位合成磷酸鈣類骨組織修復(fù)材料及表征
- 畜牧獸醫(yī)畢業(yè)論文名字
- 中國聯(lián)通5G毫米波技術(shù)白皮書
- 醫(yī)療人文關(guān)懷
- 系統(tǒng)規(guī)劃與管理師-輔助記憶口訣
- 預(yù)防接種異常反應(yīng)監(jiān)測與處理
- 輸液發(fā)熱反應(yīng)的護理流程圖
- 2023-2024學(xué)年四川省阿壩州小學(xué)語文四年級期末深度自測試卷詳細參考答案解析
- 8D報告樣板(設(shè)備故障的8D報告)
評論
0/150
提交評論