vb不能給陣列賦值,VB不能給陣列賦值

2022-03-22 01:04:32 字數 6702 閱讀 6983

1樓:網海1書生

dim arr_sechgroupmemlist() as variant

arr_sechgroupmemlist = array("全部", "姓名", "年齡", "**")

或者dim arr_sechgroupmemlist() as string

arr_sechgroupmemlist = split("全部|姓名|年齡|**", "|")

注意這兩種方式的陣列型別!

2樓:匿名使用者

語句沒有錯,你把你的**都寫上看看,應該是別的地方錯了

3樓:匿名使用者

一樣的**,我用我的可以在立即視窗列印出來

debug.print arr_sechgroupmemlist(15)

你再試試

4樓:匿名使用者

正常的,沒有錯啊

你的還有什麼別的**?錯誤定位在那條語句上啊

5樓:匿名使用者

第2行的arr_sechgroupmemlist(15)代表這個陣列的第16項,和上面宣告的不一樣

6樓:鄲菲查歌

兩個問題,

一個是陣列是從0開始的,所以你從1開始就錯了。

第二個是array

函式,這個是返回一個包含陣列的

variant。

語法array(arglist)

所需的arglist

引數是一個用逗號隔開的值表,這些值用於給

variant

所包含的陣列的各元素賦值。如果不提供引數,則建立一個長度為0的陣列。

你又要指定內容,又要指定陣列長度,肯定出錯。

再一個,這個改了下面的q(i,j)=

k(3*(i-

1)+j)也要改,不能超過陣列,否則要超出下標的,正確如下:

private

subcommandbutton1_click()dimq(0

to2,0to

2),k

asvariantk=

array(4,

2,2,

2,8,

4,2,

4,4)

fori=0

to2forj=0

to2q(i,j)=

k(3*i+

j)next

jnext

imsgbox

q(0,

2)endsub

vb不能給陣列賦值

7樓:匿名使用者

兩個問題,

一個是陣列是從0開始的,所以你從1開始就錯了。

第二個是array 函式,這個是返回一個包含陣列的 variant。

語法 array(arglist)

所需的 arglist 引數是一個用逗號隔開的值表,這些值用於給 variant 所包含的陣列的各元素賦值。如果不提供引數,則建立一個長度為 0 的陣列。

你又要指定內容,又要指定陣列長度,肯定出錯。

再一個,這個改了下面的q(i, j) = k(3 * (i - 1) + j)也要改,不能超過陣列,否則要超出下標的,正確如下:

private sub commandbutton1_click()

dim q(0 to 2, 0 to 2), k as variant

k = array(4, 2, 2, 2, 8, 4, 2, 4, 4)

for i = 0 to 2

for j = 0 to 2

q(i, j) = k(3 * i + j)

next j

next i

msgbox q(0, 2)

end sub

8樓:匿名使用者

「不能給陣列賦值」這個錯誤是由於想要改變固定陣列的大小引起的,有些函式、方法的返回值是一個陣列,它們會自動設定用於接受資料的陣列的大小,如果你用固定陣列去接受就會產生這個錯誤。

array 函式返回一個包含陣列的 variant,所以你定義k的時候不能指定大小,要寫成k as variant或者k() as variant。

另外,149005501 表述有誤,vb不限制陣列下標從**開始。使用 array 函式建立的陣列的下界受 option base 語句指定的下界的決定,在form模組開頭加入option base 1迴圈裡的**就不用改,不加的話要寫成k(3 * (i - 1) + j-1) 。

9樓:匿名使用者

private sub commandbutton1_click()dim q(1 to 3, 1 to 3) as integer, k as variant

k = array(4, 2, 2, 2, 8, 4, 2, 4, 4)

for i = 1 to 3

for j = 1 to 3

q(i, j) = k(3 * (i - 1) + j - 1)next j

next i

msgbox q(1, 3)

end sub

如何給vb陣列賦值?

10樓:文修令恨真

可是,你寫的不是陣列呀。。

看你描述的功能,用控制元件陣列處理起來非常簡單。

唉。。我家裡的vb出毛病了打不開。

給這52個label控制元件起同一個名字,記得控制元件屬性裡有個index屬性,把第一個改成0,後面的編號順延。再做click的事件的函式**,應該有個引數是那個控制元件的索引。只需在一個click事件裡,用類似label(index).

visible

=false一句話,就可以控制52張牌了!

明天到公司試試。要是說錯了再來改。

11樓:匿名使用者

和普通變數的賦值一樣。比如:

dim a(5) as integer

for i=1 to 5

a(i)=i;

next i

通過使用迴圈來賦值是很常用的做法。

12樓:匿名使用者

答案補充:這個方法只適用於一維陣列,多維陣列只能一個一個分別賦值,沒有簡便方法。

============

**如下。

============

dim a as variant

private sub form_load()a = array(1, 5, 2, 43, 222)end sub

13樓:du瓶邪

例子private sub label1_click()label1.visible = falseend sub

單獨一個是這樣寫

如果給每個label 都賦上*.visible=false(*為label名字)

14樓:沈苗公巧凡

private

subcommand1_click()

dimdd=

array(array(1,

2,3),

array(4,

5,6),

array(7,

8,9))

dimi

asinteger

dimj

asinteger

fori=0

to2forj=0

to2print

d(i)(j)

next

jnext

iendsub

vb如何為陣列賦初值

15樓:

dim i,j,t

dim a(1 to 5) as integerrandomize

for i=1 to 5

restart:t=int((100-1+1)*rnd+1))for j=1 to ubound(a)

if a(j)=t then

goto restart

end if

a(i)=t

print a(i)

next i

這裡給a陣列中的每個值賦一個不同隨機初始值

16樓:麥香甜甜圈

只能為陣列中的逐個元素賦初值

參考:dim a(1 to 5) as integera(1)=2

a(2)=4

a(3)=5

a(4)=33

a(5)=89

vb中怎麼賦值給陣列?

17樓:匿名使用者

10是把求得不同的數字num賦值給陣列

11是基於i來迴圈的,所以是i

12是交換陣列元素,a(j)=temp

18樓:匿名使用者

vb賦值給陣列,有以下幾種方式:

第一種方式:

private sub command1_click()dim a(10) as integer '定義陣列a,下標最大值為10

for i = 0 to 10

a(i) = i'這裡可以直接給陣列賦值了print "a(" & i & ")的值" & a(i) '列印陣列

next

end sub

第二種方式:

private sub command1_click()dim a() as integer '定義陣列a,這裡未設定下標for i = 0 to 10

redim preserve a(i)'redim 語句改變陣列的元素以及維數的數目

a(i) = i'這裡可以直接給陣列賦值了print "a(" & i & ")的值" & a(i)next

end sub

第三種方式:

private sub command1_click()a = array(1, 5, 2, 43, 222)msgbox "a(0)原來的值是:" & a(0)a(0) = 100

msgbox "a(0)賦值後的值是:" & a(0)end sub

vb 陣列怎麼定義與賦值?

19樓:匿名使用者

dim cnt1 as variant

cnt1=array(1600,0,0,0,0)

******************************==

array 函式

返回一個包含陣列的 variant。

語法array(arglist)

所需的 arglist 引數是一個用逗號隔開的值表,這些值用於給 variant 所包含的陣列的各元素賦值。如果不提供引數,則建立一個長度為 0 的陣列。

說明用來表示陣列元素的符號由變數名、圓括號以及括號中的所需元素的索引號組成。在下面的示例中,第一條語句建立一個 variant 的變數 a。第二條語句將一個陣列賦給變數 a。

最後一條語句將該陣列的第二個元素的值賦給另一個變數。

dim a as variant

a = array(10,20,30)

b = a(2)

使用 array 函式建立的陣列的下界受 option base 語句指定的下界的決定, 除非 array 是由型別庫(例如 vba.array )名稱限定。如果是由型別庫名稱限定,則 array 不受 option base 的影響。

注意 沒有作為陣列宣告的 variant 也可以表示陣列。除了長度固定的字串以及使用者定義型別之外,variant 變數可以表示任何型別的陣列。儘管一個包含陣列的 variant 和一個元素為 variant 型別的陣列在概念上有所不同,但對陣列元素的訪問方式是相同的。

20樓:匿名使用者

dim a as variant

a = array(10,20,30)

b = a(2)

array函式返回的是變體型 你要用該函式是不能給陣列變數賦值

vb自定義函式返回一個陣列,提示不能給陣列賦值 5

21樓:匿名使用者

function zbjs(dsa, r, psi, rr, x, w, s as double) as double()

dim p(), h as double

'加一句

redim p(0 to 8) as double

dim i as integer

h = r * sin(psi / 180 * pi) * tan(psi / 180 * pi) + r * cos(psi / 180 * pi)

p(0) = w / 2: p(1) = tan(30 / 180 * pi) * (0) + s / cos(30 / 180 * pi)

p(4) = x: p(5) = -tan(psi / 180 * pi) * p(4) + h + rr / cos(psi / 180 * pi) - rr

p(2) = (p(5) - s / cos(30 / 180 * pi)) / tan(30 / 180 * pi): p(3) = p(5)

p(6) = x - rr * sin(psi / 180 * pi): p(7) = -tan(psi / 180 * pi) * p(6) + h

p(8) = r * sin(psi / 180 * pi): p(9) = -tan(psi / 180 * pi) * p(8) + h

zbjs = p

end function

是不是不能給狗狗吃巧克力,為什麼不能給狗狗吃巧克力?

狗狗為什麼不能吃巧克力?是的,巧克力對狗來說就是毒藥了 為什麼不能給狗狗吃巧克力?狗狗為什麼不能吃巧克力?有很多的家長們,在飼養狗狗的過程當中,都知道狗狗是不能夠吃巧克力的。但是至於為什麼不能吃巧克力,他們可能還是不能夠完全明白的。總是不甘心的問 吃一點點巧克力都不行嗎?真的有說的這麼可怕嗎?一塊來...

哪些食物不能給狗狗吃啊,不能給狗狗吃的15種食物,你都知道嗎

巧克力,葡萄提子,洋蔥類的,鹽糖含量的都不要給狗狗吃 野人也生吃肉啊,你今天為啥吃熟的?茹毛飲血不是很好嗎?難道人類進化,把食物煮熟延長了人類壽命,狗貓就不能嗎?做熟起碼可以殺死寄生蟲卵,這點就是最好理由了。這些食物千萬不能給狗狗吃!不能給狗狗吃的15種食物,你都知道嗎 狗狗有哪些食物是不能吃的?狗...

自己能不能給手機刷機怎麼刷翱,自己能不能給手機刷機,怎麼刷啊?

手機如何自己刷機?學會了,再也不用花冤枉錢給手機師傅了!若您是華為手機不建議手機刷機的。刷機後,手機有可能無法達到最佳工作狀態的,部分功能可能無法正常執行的。同時由於第三方韌體未經充分測試可能會存在相容性不好 系統易受病毒入侵等問題的。刷機會帶來無法預料的負面影響,一定要謹慎操作的。如果裝置不能正常...