vba陣列賦值,VBA陣列的定義與賦值

時間 2021-08-30 09:37:30

1樓:匿名使用者

1、開啟一個excel的檔案,在**中輸入簡單的**,比如學生身高**,如下圖所示。

2、接著,在**中輸入一維陣列的說明文字,滑鼠左鍵單擊【開發工具】選單標籤,在vba控制元件下拉選單中,並選擇按鈕控制元件,如下圖所示。

3、然後,在**中繪製出按鈕控制元件,並修改控制元件名稱,比如使用一維陣列的名稱,如下圖所示。

4、接著,選擇按鈕控制元件,並滑鼠左鍵單擊【檢視**】按鈕,如下圖所示。

5、然後,在**視窗中輸入vba語句,比如輸入定義一維陣列的語句,並給一維陣列賦值,如下圖所示。

6、接著,在**視窗中,輸入一維陣列給單元格賦值的vba語句,如下圖所示。

7、最後,在設計視窗上,滑鼠左鍵單擊按鈕,可以看到**中的,通過vba程式的一維陣列,並輸出到身高的單元格中,顯示出資料了,如下圖所示。完成效果圖。

2樓:匿名使用者

dim strarr as variant

strarr =array ("物業費“,”電費“,”水費“,”電梯電費“,”裝修保證金“,”業主門卡工本費“,”裝修電梯使用費“,”電梯年檢維護費“,”裝修保證金")張志晨

3樓:匿名使用者

這樣行嗎?

dim strarr

strarr = split("物業費,電費,水費,電梯電費,裝修保證金,業主門卡工本費,裝修電梯使用費,電梯年檢維護費,裝修保證金", ",")

4樓:

你等號的右邊是一個字串常量,所以不能直接賦值給一個陣列,只能賦值給陣列中的某一個元素。或者用split函式將其分解為陣列常量之後,再賦值給陣列,如下所示:

dim strarr()

strarr=split("物業費,電費,水費,電梯電費,裝修保證金,業主門卡工本費,裝修電梯使用費,電梯年檢維護費,裝修保證金",",")

在vba中如何用一個陣列給另一個陣列賦值?

5樓:匿名使用者

通過陣列迴圈的方式進行陣列賦值。

示例:dim names '定義一個初始化陣列dim dest(3) '定義一個要賦值的陣列'賦值names = array("小明", "小紅", "效力", "張明", "王武", "", "", "", "", "", "")

'通過ubound()函式計算上界,lbound計算陣列下界for i=lbound(dest) to ubound(dest)dest(i) = names(i);//陣列賦值next i

6樓:匿名使用者

應該迴圈陣列並比較後賦值,或按位賦值

7樓:匿名使用者

dim i%

dim a(0 tto 8),b(0 to 3)a=array(1,2,3,4,5,6,7,8,9)b(0)=a(0)

b(1)=a(1)

b(2)=a(3)

b(3)=a(5)

8樓:匿名使用者

dim b() as double

redim b(4)

b(1) = a(0)

b(2) = a(1)

b(3) = a(3)

b(4) = a(5)

vba陣列的定義與賦值

9樓:四舍**入

1、dim arr(1 to 3) as string如此定義,但是不能直接給陣列賦值

如果想直接給陣列直接賦值,需要如下操作:

dim arr() as variant

arr=array("a","b","c")2、dim a as variant

a = array(10,20,30)

b = a(2)

array函式返回的是變體型,要用該函式是不能給陣列變數賦值擴充套件資料:vba的常用內建函式:

msgbox

inputbox

舍入函式:fix 向0取整,int向下取整, round四捨五入rnd: 返回0-1內的單精度隨機數

字串函式:

filter:對字串的一維陣列的過濾

instr([start, ],[, compare])與instrrev: 查詢子串

len:字串長度

join:連線一維陣列中的所有子字串

left,right,mid: 擷取子字串space(數值) :生成空格字串

ucase,lcase:大小寫轉換函式

ltrim, rtrim,trim :刪除首尾空格replace

split:分割一個字串成為一維陣列

strcomp:字串比較

strconv:字串轉換

string(number, character):制定字元重複若干次

10樓:藤原子大雄

vba顯然是不支援陣列控制元件的,但可以這樣的,假如金額的textbox名稱依次被命名為sum1,sum2,sum3........

private sub cmdok_click()dim a as control

for each a in me.controlsif left(a.name,3)="sum" and a.value ="" then a.value=0

next

end sub

11樓:司馬刀劍

字串陣列的定義:

dim arr(1 to 3) as string如此定義,但是不能直接給陣列賦值

如果想直接給陣列直接賦值,需要如下操作:

dim arr() as variant

arr=array("a","b","c")

12樓:

參考下面的**,和你的問題有些像:

sub test()

dim arr(1 to 9) as integer '定義一個下標為1,上標為9的整型陣列

dim brr(9) as string ''定義一個下標為0,上標為9的整型陣列。這裡的預設下標可以在模組中用 option base來宣告陣列下標的預設下界,預設是0

dim crr(9, 1 to 9) as string '定義了一個二維字元型陣列,第一維下標為0,上標為9,第二維下標為1,上標為9

dim drr as variant '定義了一個變體型別

dim frr() as long ''定義一個陣列,但維度和上下標未明確

arr(9) = 9 '元素賦值

brr(0) = "0" '元素賦值

crr(1, 1) = "a"

drr = crr 'drr(1,1)="a"

redim frr(10) as long  '重新定義了frr陣列的維度和上下標

redim frr(1 to 10, 1 to 10) '再次重新定義frr陣列的維度和上下標

frr(1, 10) = 110 '元素賦值

redim preserve frr(1 to 10, 1 to 11) '重新定義陣列最後一維的大小,並保持原有資料,此時 frr(1,10)還是 110

end sub

13樓:活寶

你可以定義其他資料型別  ,或者其他型別 ,一下是型別表,建議您看一下

14樓:不聽老人言吃虧在眼前

dim arr(1 to 3, 1 to 3, 1 to 3) as variant

arr(1, 1) = "en"

arr(1, 2) = 519

arr(1, 3) = "de"

arr(2, 1) = "en"

arr(2, 2) = 519

arr(2, 3) = "de"

arr(3, 1) = "en"

arr(3, 2) = 519

arr(3, 3) = "de"

arr(3, 1) = "en"

arr(3, 2) = 519

arr(3, 3) = "de"

15樓:

sub 陣列()

dim arra as variant

arra=array("a","b","c","d") 這樣才可以

end sub

sub 陣列1()

dim arra() as string

redim arra(10)

for i = 0 to 9

arra(i) = chr(65+i)

next i

end sub

在VBA中如何用陣列給另陣列賦值

通過陣列迴圈的方式進行陣列賦值。示例 dim names 定義一個初始化陣列dim dest 3 定義一個要賦值的陣列 賦值names array 小明 小紅 效力 張明 王武 通過ubound 函式計算上界,lbound計算陣列下界for i lbound dest to ubound dest ...

vba如何分割字串成陣列

sub mm s 91719.043 251636.734 0.364 1074.587 0.650 s trim s m k 0 for i 1 to len s if mid s,i,1 thenif k 0 then k i m m mid s,i,1 end if else m m mid ...

excel vba中如何定義陣列,並賦值

陽光上的橋 for each i in array 1,6,8,18,19,20,25,62,63,64 msgbox i i next i 表裡如一 dim i as integer,aaa 9 as integer aaa array sub a dim aaa 9 aaa 0 1 aaa 1 ...