vba開發時經常用到陣列,但是如何判斷陣列是否為空,這裡說的「空」指的是,動態陣列宣告後,但是未賦值之前的狀態,在【本地視窗】中顯示如下。
此時dim
語句已經執行完畢,可以認為已經完成了初始化,陣列並無法直接使用,因此可以使用錯誤捕獲的方式來實現檢測這個狀態。
示例**如下:
sub demo(
)dim arrtest(
)on error
resume
next
idx =
lbound
(arrtest)
if err.number >
0then
msgbox "arrtest是空陣列"
else
msgbox "arrtest不是空陣列"
endifon error
goto
0'陣列賦值
redim arrtest(0)
arrtest(0)
=1msgbox "arrtest(0)="
& arrtest(0)
on error
resume
next
idx =
lbound
(arrtest)
if err.number >
0then
msgbox "arrtest是空陣列"
else
msgbox "arrtest不是空陣列"
endifon error
goto
0end
sub
【**解析】
第4行**使用lbound
函式讀取陣列的下標下界,使用ubound
函式也可以。如果陣列為空,那麼將產生執行時錯誤9,由於第3行**忽略執行時錯誤,所以**可以繼續執行。
第5行**中err.number
返回值為9,因此將執行第6行**,顯示如下訊息框。
第12~13行**為動態陣列賦值。
第14行**顯示陣列的值,如下圖所示。
第16行可以正常執行,不會產生執行時錯誤,此時err.number
返回值為0,將顯示如下所以的訊息框。
使用**erase arrtest
可以清空動態陣列,恢復到空
狀態。
如何判斷PHP陣列是否為空
php判斷陣列為空首選方法 count arr size arr arr array echo count arr echo size arr 輸出1 arr array echo count arr echo size arr 輸出0 php判斷陣列為空方法2 empty arr arr arra...
為空 判斷 如何判斷環境變數為空
今天在看 spark 的指令碼的時候,發現很多變數都有用到這種格式,如下 if z then spark classpath spark mounted classpath spark classpath fi z很容易理解,在 shell 指令碼裡就是表示後面這個變數是否為空,也做zero的意思。...
PHP中如何判斷陣列是否為空
php判斷陣列為空之一 for迴圈 最簡單也是最直接的方法,用 for迴圈來遍歷陣列。對於已知維數的陣列可以判斷,但如果是未知的多維陣列,該怎麼辦?php判斷陣列為空之二 implode 用 implode 將陣列輸出為字串,判斷輸出的字串是否為空。初看上去似乎是個不錯的方法,可惜跟上一點一樣,對於...