vba陣列計算,vba 如何把單元格內容存入陣列,並做計算

時間 2022-08-05 07:10:06

1樓:匿名使用者

sub isum()

dim arr, dic3, dic4

arr = range("a1:d11").value 'arr陣列元素按實際設定,這裡是用excel中的測試資料

set dic3 = createobject("scripting.dictionary")

set dic4 = createobject("scripting.dictionary")

for i = 1 to ubound(arr)

'字典的關鍵字,用的是序號,如果要用產品**就更換arr(i,1)為arr(i,2)

'甚至可以用arr(i,1) & arr(i,2)作為關鍵字

dic3(arr(i, 1)) = dic3(arr(i, 1)) + arr(i, 3)

dic4(arr(i, 1)) = dic4(arr(i, 1)) + arr(i, 4)

next

msgbox join(dic3.keys, ",") & vbcrlf & join(dic3.items, ",") & vbcrlf & join(dic4.

keys, ",") & vbcrlf & join(dic4.items, ",")

end sub

2樓:

先排序,然後逐行處理,判斷第一列資料是否相等,相應做處理就行了啥

3樓:匿名使用者

我想可以使用「分類彙總」功能,

以序號分類,對第3列、第4列求和,

就能實現。

具體是:

第一步、按第一列排序

第二步、資料----分類彙總,選好分類列、求和列-------

看你的補充覺得你要做「排列組合」呀,

如果「1、2、3」不多的話,可以用「資料透視表」解決,否則就要用vba進行迴圈巢狀解決了。

vba 如何把單元格內容存入陣列,並做計算

4樓:匿名使用者

dim val as variant

dim n as integer

for n = lbound(val) to ubound(val)val(n)=sheets("你的sheet名").range("你的單元格名")

next

5樓:匿名使用者

「d列1,2行是a,b兩列的和意思是a+b、3,4行是bc兩列的和」,是這個意思嗎:

d1=a1+b1

d2=a2+b2

d3=b3+c3

d4=b4+c4

**如下:

sub test()

dim arry1(1 to 4) as single, arry2(1 to 4) as single, arry3(1 to 4) as single

dim arry4(1 to 4) as single, i as integer

'讀入資料到前3個陣列

for i = 1 to 4

arry1(i) = cells(i, 1)

arry2(i) = cells(i, 2)

arry3(i) = cells(i, 3)

next i

'計算第4個陣列,只4項,用迴圈還不如乙個個寫

arry4(1) = arry1(1) + arry2(1)

arry4(2) = arry1(2) + arry2(2)

arry4(3) = arry2(3) + arry3(3)

arry4(4) = arry2(4) + arry3(4)

'填寫結果到d列

for i = 1 to 4

cells(i, 4) = arry4(i)

next i

end sub

其實,無論d列如何計算,也只是改下上面的d列計算**部分,對樓主的問題應是無傷大雅的 ^-^

goodluck!

vba如何判斷乙個陣列的維數

6樓:匿名使用者

function dofarray(arr) as integeron error resume next

'判斷是否陣列

if not isarray(arr) thendofarray = -1

exit function

end if

'利用出錯來判斷

for i = 1 to 60

aa = ubound(arr, i)

if err.number <> 0 thendofarray = i - 1

exit function

end if

next

end function

網上有很多這樣的**的

excel vba中,我要對乙個陣列arr(20)求和,必須用迴圈相加嗎?

7樓:魚木混豬喲

最簡單的方法就是定義變數,然後迴圈相加;當然不怕麻煩的話,也可以將陣列中的乙個個元素直接用+號累加起來得到最終的和。

關於陣列:

所謂陣列,就是相同資料型別的元素按一定順序排列的集合,就是把有限個型別相同的變數用乙個名字命名,然後用編號區分他們的變數的集合,這個名字稱為陣列名,編號稱為下標。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。陣列是在程式設計中,為了處理方便, 把具有相同型別的若干變數按有序的形式組織起來的一種形式。

這些按序排列的同類資料元素的集合稱為陣列。

陣列在vba中的應用:

在vba程式設計中應用資料可以極大地提高程式的運算速度,能否熟練執行資料也往往成為區分程式設計高手與入門菜鳥之間的標準。如果想要在vba中更進一步,用好陣列是必須跨越的門檻!

8樓:陽光上的橋

方法一、不用迴圈:

s=arr(1)+arr(2)+arr(3)+arr(4)+arr(5)+arr(6)+arr(7)+arr(8)+arr(9)+arr(10)+arr(11)+arr(12)+arr(13)+arr(14)+arr(15)+arr(16)+arr(17)+arr(18)+arr(19)+arr(20)

方法二、用迴圈

s=0for i=1 to 20

s=s+arr(i)

next

在excel中利用vba編寫使用array函式建立陣列?

9樓:

option explicit

sub arraytest()

dim arr as variant '定義變數

'將1到10十個自然數賦給陣列arr

arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

msgbox "arr陣列的第2個元素為:" & arr(1)end sub

excel用單元格數值入陣列方法vba改寫求積

10樓:匿名使用者

sub cc()

t = timer

dim x as integer

for x = 1 to range("a65536").end(xlup).row

cells(x, 3) = cells(x, 1) * cells(x, 2)

next

msgbox timer - t

end sub

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

1 開啟一個excel的檔案,在 中輸入簡單的 比如學生身高 如下圖所示。2 接著,在 中輸入一維陣列的說明文字,滑鼠左鍵單擊 開發工具 選單標籤,在vba控制元件下拉選單中,並選擇按鈕控制元件,如下圖所示。3 然後,在 中繪製出按鈕控制元件,並修改控制元件名稱,比如使用一維陣列的名稱,如下圖所示。...

如何在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...

vba引用單元格,VBA引用單元格

以計算男,女人數為列,說明if寫法及單元格表示法 如e1單元格,可表示為range e1 也可表示為cells 1,5 用變數來表示 range e j 或cells j,5 下面說明if的使用來計算男女人數 sub 計數 dim r x nan nv 建立整數變數 dim arr 建立乙個陣列,如...