1樓:匿名使用者
sub bijiao()
dim a()
dim i as long
dim b定義陣列。
redim a(0 to 10)
陣列賦值。for i=0 to ubound(a)a(i)=i
nextb賦值。
b=6迴圈比較。
for i=0 to ubound(a)
if b=a(i) then exit fornext扒答陵春戚判斷是否找到。
if i>ubound(a) then
msgbox "沒有找到"舉空。
elseredim preserve a(0 to ubound(a)+1)
a(ubound(a))=b
end if
end sub
在vba中,把6個陣列成的一維陣列中的某個不合格元素,剩餘的元素重新組建乙個陣列,求大佬給**解決
2樓:一箭驚仙
為什麼不用collection或dictionary呢,陣列效率那麼低老用陣列幹嘛。
vba 如何把乙個陣列裡的值拼成乙個字串
3樓:閃星
可以有,不過不是那種寫法哈。
join函式。
描述返回乙個字串,該字串是通過連線某個陣列中的多個子字串而建立的。
語法join(list[, delimiter])join函式語法有如下幾部分:
部分 描述。
list 必需的。包含被連線子字串的一維陣列。
delimiter 可選的。在返回字串中用於分隔子字串的字元。如果忽略該項,則使用空格(" ")來分隔子字串。
如果delimiter是零長度字串(""),則列表中的所有專案都連線在一起,中間沒有分隔符。
vba中:如何將乙個陣列的一串元素複製給另外乙個陣列
4樓:最美鄉村行
vb裡面沒有這樣的函式,copymemory是可以的,看看下面的例項。
vb6在我機子上用下面資料測試 時間差。
20倍左右,十萬個資料就可以看出來了,我用的是一百萬。
private declare sub copymemory lib "kernel32" alias "rtlmovememory" (pdst as any, psrc as any, byval bytelen as long)
private declare function gettickcount lib "kernel32" ()as long
private sub command1_click()
dim arra() as long
dim arrb() as long
redim arra(1 to 1000000)
redim arrb(2 to 1000000)
for i = 1 to 1000000
arra(i) = i
next i
取得開機至今的毫秒數。
t = gettickcount
for i = 2 to 1000000
arrb(i) = arra(i)
nextmsgbox "用時" + str$(gettickcount - t) +"毫秒"
我的機子用時200毫秒左右,機子老古董了比較慢不要見笑。
redim arrb(2 to 1000000) '注意這行已經清空了上面的賦值。
t = gettickcount
copymemory arrb(2), arra(2), lenb(arra(1)) 999999
msgbox "用時" + str$(gettickcount - t) +"毫秒"
我的機子用時10毫秒左右。
看看最後乙個資料對不對。
msgbox arrb(1000000)
end sub
5樓:網友
好像沒你說的功能,就有了,可以用arraylist實現。
用vba陣列把a列分成幾列
6樓:陽光上的橋
看樣子是遇到空行就提取為一列吧,這樣的**你是否滿意呢:
sub 陣列分列()
dim arr,i,j,m,n
n=cells(,1).end(xlup).row 'a列最後一行位置。
arr=cells(1,1).resize(n,1) '把a列有效內容存入陣列。
j=4 '從4列開始儲存資料。
i=1while i<=ubound(arr)
尋找空白前的行數n
n=1while i+n<=ubound(arr) and arr(i+n,1)<>""
n=n+1wend
cells(i,1).resize(n,1).copy cells(1,j) '複製列。
j=j+1 '下一列。
m=n+1 '下一行。
wendend sub
vba陣列用三種方法
7樓:慶年工坊
上面這些函式根本就用不到啊。最好的方法是用字典,陣列也可以sub s()
arr = split([a1], ",")k = ubound(arr)
redim brr(k)
brr(0) = arr(0)
n = 0for i = 1 to k
for j = 0 to n
if arr(i) = brr(j) then goto 1next
n = n + 1
brr(n) = arr(i)
1:next
redim preserve brr(n)[a2] = join(brr, ",")end sub
字串怎麼拆分成vba陣列?
8樓:網友
答:陣列的合併和字串拆分(join & split):多個字元的合併和字串按規律的拆分是經常遇到的,如:
a-rew-e-rwc-2-rwc 按分隔符-拆分成6個字元放在乙個陣列中 有一組數array(23,45,7,1,76)想用分隔符-連線成乙個字串 上面兩種情況vba提供了一對函式,即: split(字串,"分隔符")拆分字串 join(陣列,"分隔符") 用分隔連線陣列的每個元成乙個字串 sub t1()
dim arr, myst as string
arr = split(myst, "按-分隔成一組數裝入陣列中 'msgbox arr(0) '顯示陣列的第乙個數(分隔後的陣列最小下標為0,不是1),顯示結果為a msgbox join(arr, "再用","把陣列的每個值連線成乙個字串,結果為"a,rew,e,rwc,2,rwc"
vba 將陣列裡的值輸出到某一列
9樓:真真真白丁
親,如果要攜汪把陣列賦值給單元格,那麼,這個陣列必辯廳仔須定義為二伏鋒維。
也就是dim arr_a(1 to 660000, 1) as variant
arr_a(i, 1) =i
怎麼用vba給單元格賦值,怎麼用VBA給單元格賦值
自定義函式不能修改其它單元格的值,也就是說,不能向 rag 引數傳遞不是輸入公式的單元格的引用,換句話說,在a1 單元格輸入公式,只能傳遞 a1 作為引數。但是如果傳遞本身單元格的引用的話,因為的 又設定了單元格的值,就會無限迴圈呼叫函式。可以把自定義函式改為 sub。例如下列sub可以實現 sub...
excel如何抽取同樣列名的資料,用VBA程式設計也可以,高分,急
點尺度欄,可選中整列,然後點選資料 篩選 自動篩選,中會出現倒三角標記,點選下拉,選擇排序即可。方便的話發到 chengyan420 126.com 例如 range rows 3 rows 5 insert shift xldown excel 如何 用 vba 根據第一行的列名獲取整列,並做相關...
用24的因陣列成比例是,用24的因陣列成一個比例是( )
24 1x2x3 4 1 2 2 4 有不明白的可以追問!希望我的回答對你有用,望及時採納為滿意答案。用24的因陣列成一個比例是 3 4 6 8 24的因數 1 2 3 4 6 8 12 24 比例為 1 2 4 8 1 2 3 6 1 2 6 12 1 2 12 24 1 3 2 6 1 3 4 ...