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

2021-08-20 01:49:58 字數 4288 閱讀 7023

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如何將陣列帶入自定義的函式

窗體放一個label和一個command,如下 private sub command1 click dim i,a 19 max,min,sum,a1,a2,a3,a4,a5 as integer label1.caption randomize label1.caption 20名學生成績 vb...

vba自定義函式巢狀,VBA自定義函式巢狀

getmin min a2 b2 min c2 d2 這個寫在 裡面 下面的寫在模組裡面 public function getmin n1 as integer,n2 as integer as integer if n1 n2 then getmin n2 else getmin n1 end ...

VB option陣列caption賦值value難道陣列只能用下標來指定是哪個嗎

如果是陣列,那麼,在vb中,陣列只能通過數字下標訪問,如果是集合,是可以通過key進行訪問的.通過caption訪問是肯定不行的,因為caption屬性值不具有唯一性.是的 只能用 index來定位 當然你可以定義一個函式來實現public function option ture o,s1 as ...