將陣列以逗號拼接 VBA中動態陣列的定義及建立

2021-10-14 09:43:40 字數 1202 閱讀 8178

但如果事前不知道陣列大小時,怎麼辦呢?在事前不知道陣列的大小時,可以宣告陣列為動態陣列,在需要指定陣列大小時,再使用redim語句分配陣列的實際元素的個數。

1、動態陣列是可以改變大小的陣列,通過在陣列名稱後附帶空括號來宣告,如:

dim arrsheetname() as string

2、在定義動態陣列之後,必須使用redim來設定動態陣列的上界和下界,為陣列重新分配儲存空間。

3、我們可以使用redim語句反覆地改變陣列的元素個數。

下面我們將通過乙個例項來講解動態陣列的利用:

比如乙個工作表的c列儲存了學生姓名,現在我們需要把把有姓「王」的學生儲存在陣列arr中,預先我們並不知道c列姓王的學生有三十個還是五十個,所以,我們在定義時**可以這樣:

**:sub mynzsz_2()

dim arr() as string

erow = [c65536].end(3).row '最後乙個非空單元格行號

j = 1 '陣列索引號

redim arr(1 to xcount) '重新定義陣列大小,元素共有xcount個

for i = 1 to erow

if left(cells(i, 3).value, 1) = "王" then

arr(j) = cells(i, 3).value '給陣列元素賦值

j = j + 1 '索引號加1

end if

next i

[d1:d65536].clear '清除原有資料

end sub

**截圖:

**的解讀:

1 dim arr() as string 定義了乙個動態陣列。

redim arr(1 to xcount) '重新定義陣列大小,元素共有xcount個

通過求出姓王的學生的個數從而知道陣列的上下界

執行結果:

今日內容回向;

1 什麼是動態陣列?

2 動態陣列和靜態陣列有什麼區別?

將逗號分隔的字串(陣列)取出存到陣列中

include include include include using namespace std 將包含有逗號的字串分隔出來 將所有的逗號或者其他標點符號替換成空格,然後利用istringstream將字串或者數值存下來。int main istringstream m str m接收字串,名...

7 1 將陣列中的數逆序存放

7 1 將陣列中的數逆序存放 15point s 本題要求編寫程式,將給定的n個整數存入陣列中,將陣列中的這n個數逆序存放,再按順序輸出陣列中的元素。輸入在第一行中給出乙個正整數n 1 n 10 第二行輸入n個整數,用空格分開。在一行中輸出這n個整數的處理結果,相鄰數字中間用乙個空格分開,行末不得有...

7 1將陣列中的數逆序存放

應同學請求,將大一曾經做過的一些作業題目再發出來,因時間有限就不再一一做注釋了,在這裡只放置題目和 寒假的時候會再對每個題目進行詳細的注釋,並更新一些新的題目 7 1 將陣列中的數逆序存放 20分 本題要求編寫程式,將給定的n個整數存入陣列中,將陣列中的這n個數逆序存放,再按順序輸出陣列中的元素。輸...