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

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

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二維陣列怎麼賦值

墨陌沫默漠末 可通過 符號或 set 關鍵字進行賦值。變數在使用時還需要對其進行賦值。在vba中對變數進行賦值可通過 符號或 set 關鍵字進行。通過 符號對變數賦值的語法格式有以下幾種。變數名 資料 變數1 變數2 運算子 資料 變數1 變數2 運算子 變數3 運算子 變數n 如果在定義變數時指定...

如何在vba中宣告陣列,如何定義在VBA中定義乙個動態陣列?

sub test dim a 0 to 5 定義乙個一維陣列,下標從0到5共6個元素 dim b 定義乙個動態陣列,陣列維度與元素不確定,一般需要通過redim重新定義陣列大小才能給其賦值 dim c 1 to 5,2 to 3 定義乙個二維陣列end sub 零落的小釘錘 定義即宣告,如 a ar...