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 ...