在前面已經(jīng)用過Split函數(shù)了,,可以方便的獲取指定單元格的行標(biāo)或列標(biāo),,具體的用法可以參見以下代碼: Sub 獲取指定列的字母() 先抄一段官方解釋: 描述 返回一個下標(biāo)從零開始的一維數(shù)組,,它包含指定數(shù)目的子字符串,。 語法 Split(expression[, delimiter[, limit[, compare]]]) Split函數(shù)語法有如下命名參數(shù):
設(shè)置值 compare參數(shù)的設(shè)置值如下:
連段示例代碼都沒有,看來對這個函數(shù)應(yīng)該是比較好掌握,,也是,語法比較簡單,,但問題的焦點(diǎn)不在這兒,,而是它最終返回的數(shù)值問題:①到底是不是從0開始,?②受不受Option Base 1的約束,?③到底如何理解數(shù)組的上標(biāo)和下標(biāo),是表示數(shù)組長度嗎,? 關(guān)于①與②的問題其實(shí)是一個問題:如果受Opiton Base 1的約束,,那就從1開始,如果不受,,那就從0開始了。幫助里說的很清楚了,,返回一個下標(biāo)從0開始的一維數(shù)組(順便解決一個,,水平方向的一維數(shù)組,!?。酝庵饩褪遣皇躉ption Base 1的約束,。 關(guān)于③:利用Lbound函數(shù)及Ubound函數(shù)可以分別得到指定數(shù)組的下標(biāo)及上標(biāo),,但要注意,,這僅是說明了該數(shù)組的第1個元素及最后1個元素所對應(yīng)的索引號,,而上標(biāo)并不一定是該數(shù)組的長度,如果數(shù)組從0開始計數(shù),,例如Split函數(shù)返回的數(shù)組,,那上標(biāo)只是最后1個元素對應(yīng)的索引號,并不是數(shù)組的長度了,。那不管是下標(biāo)是不是從0開始,,應(yīng)該如何計算數(shù)組的長度呢?或者說有沒有一個通用的方法來計算數(shù)組的長度,?當(dāng)然有啊,就是Ubound(arr)-Lbound(arr)+1,,這就是標(biāo)準(zhǔn)的計算數(shù)組長度的公式,,而不用考慮下標(biāo)是否從0開始了。 下面是關(guān)于以上方法的一個驗(yàn)證: Sub split函數(shù)賦值給單元格() 在上一句的基礎(chǔ)上,,再驗(yàn)證以下代碼: Sub 驗(yàn)證() 從以下兩段代碼現(xiàn)在可以看出:Split函數(shù)生成的數(shù)組不受Option Base 1的約束,,而Array函數(shù)生成的數(shù)組受Option Base 1的約束,,那么到底哪些返回的結(jié)果是數(shù)組,哪些不是,,在返回數(shù)組的基礎(chǔ)上,又有哪些受Option Base 1的約束,,哪些又不受呢? 慢慢總結(jié)吧,。 再補(bǔ)充: Sub split函數(shù)賦值給單元格() 注意到紅體字了嗎?這是利用遍歷的一樣可以輸出每個元素,,但要注意是所有元素,包括前為空的那個,,而實(shí)際上我需要的是后4個,所以方法可以借鑒,,但不如利用for循環(huán)來的更精確。 關(guān)于Variant的解釋:(來自官方解釋,,抄襲,嚴(yán)重的抄襲?。?/font> Variant 數(shù)據(jù)類型是所有沒被顯式聲明(用如 Dim、Private,、Public 或 Static等語句)為其他類型變量的數(shù)據(jù)類型,。Variant 數(shù)據(jù)類型并沒有類型聲明字符,。 Variant 是一種特殊的數(shù)據(jù)類型,除了定長 String 數(shù)據(jù)及用戶定義類型外,,可以包含任何種類的數(shù)據(jù)。Variant 也可以包含 Empty,、Error、Nothing 及 Null等特殊值,。可以用 VarType 函數(shù)或 TypeName 函數(shù)來決定如何處理 Variant 中的數(shù)據(jù),。 數(shù)值數(shù)據(jù)可以是任何整型或?qū)嵭蛿?shù),,負(fù)數(shù)時范圍從 可以用 Variant 數(shù)據(jù)類型來替換任何數(shù)據(jù)類型,,這樣會更有適應(yīng)性,。如果 Variant 變量的內(nèi)容是數(shù)字,它可以用字符串來表示數(shù)字或是用它實(shí)際的值來表示,,這將由上下文來決定,,例如: 在前面的例子中,, Empty 值用來標(biāo)記尚未初始化(給定初始值)的 Variant 變量,。內(nèi)含 Empty 的 Variant 在數(shù)值的上下文中表示 0,,如果是用在字符串的上下文中則表示零長度的字符串 (''),。 不應(yīng)將 Empty 與 Null 弄混,。Null 是表示 Variant 變量確實(shí)含有一個無效數(shù)據(jù),。 在 Variant 中,Error 是用來指示在過程中出現(xiàn)錯誤時的特殊值,。然而,,不像對其他種類的錯誤那樣,程序并不產(chǎn)生普通的應(yīng)用程序級的錯誤處理,。這可以讓程序員,,或應(yīng)用程序本身,,根據(jù)此錯誤值采取另外的行動,??梢杂?CVErr 函數(shù)將實(shí)數(shù)轉(zhuǎn)換為錯誤值來產(chǎn)生 Error 值,。 43 Things: Excel VBA, Range, VBA, 愛好者, 成就感, 程序設(shè)計, 關(guān)鍵字, 循環(huán), 應(yīng)用程序, 源程序, 源代碼 BuzzNet: Excel VBA, Range, VBA, 愛好者, 成就感, 程序設(shè)計, 關(guān)鍵字, 循環(huán), 應(yīng)用程序, 源程序, 源代碼 del.: Excel VBA, Range, VBA, 愛好者, 成就感, 程序設(shè)計, 關(guān)鍵字, 循環(huán), 應(yīng)用程序, 源程序, 源代碼 Flickr: Excel VBA, Range, VBA, 愛好者, 成就感, 程序設(shè)計, 關(guān)鍵字, 循環(huán), 應(yīng)用程序, 源程序, 源代碼 IceRocket: Excel VBA, Range, VBA, 愛好者, 成就感, 程序設(shè)計, 關(guān)鍵字, 循環(huán), 應(yīng)用程序, 源程序, 源代碼 LiveJournal: Excel VBA, Range, VBA, 愛好者, 成就感, 程序設(shè)計, 關(guān)鍵字, 循環(huán), 應(yīng)用程序, 源程序, 源代碼 Technorati: Excel VBA, Range, VBA, 愛好者, 成就感, 程序設(shè)計, 關(guān)鍵字, 循環(huán), 應(yīng)用程序, 源程序, 源代碼 這就是菊子曰啦,!
|
|