求問vba將同一工作簿不同工作表的同一列,通過字典去重後合併

時間 2021-08-11 17:49:43

1樓:匿名使用者

sub 資料test()

dim d as object

set d = createobject("scripting.dictionary")

dim  arr1(1 to 6), arr2,arrtest1(),arrtest2()

set arr(1)= sheets("鑄件casting")

set arr(2)= sheets("機加配件")

set arr(3)= sheets("管件&外協配件")

set arr(4)= sheets("塑料件&標準件")

set arr(5)= sheets("進口件")

set arr(6)= sheets("包裝物")

for i = 1 to 6

with arr(i)

for k=2 to .[b65536].end(3).row  '我想把上面幾個表的b列都合併到一個陣列.

if .cells(i, 2) <> "" then

aa = .cells(i, 2) & "|" & .cells(i, 5)

d(aa) = ""

end if

next

end with

next

arr2 = d.keys '賦值為一維陣列

redim arrtest1(0 to ubound(arr2))

redim arrtest2(0 to ubound(arr2))

for i=0 to ubound(arr2)

arrtest1(i)=split(arr2(i),"|")(0)

arrtest2(i)=split(arr2(i),"|")(1)

next

set d = nothing

end sub

大概是這樣~

2樓:陽光上的橋

sub 資料test()

dim d as object, i, st, sname, aa

set d = createobject("scripting.dictionary")

for each sname in array("鑄件casting", "機加配件", "管件&外協配件", "塑料件&標準件", "進口件", "包裝物")

set st = sheets(sname)

for i = 2 to st.[b65536].end(3).row

if st.cells(i, 2) <> "" then

aa = st.cells(i, 2) & "|" & st.cells(i, 5)

d(aa) = true

end if

next i

next sname

dim arrtest1(), arrtest2(), ss() as string

i = d.count

redim arrtest1(i), arrtest2(i)

i = 1

for each sname in d.keys

ss = split(sname, "|")

arrtest1(i) = ss(0)

arrtest2(i) = ss(1)

i = i + 1

next sname

set d = nothing

end sub

在EXCEL中如何將同一單元格內的內容拆分

在excel中,拆分單元格內的內容,可以使用分列功能。具體使用方法如下 1 選中需要進行分列的資料列,在系統選單中,點選 資料 標籤頁,然後再下方找到並點選 分列 按鈕 2 然後會彈出文字分列嚮導,首先,我們選擇 固定寬度 然後點選下一步 這裡主要是考慮資料的型別而選擇不同的分列型別 3 接著,我們...

在EXCEL中怎樣將同一列的正負數分類抵消

蟻寧 負負得正嘛 正負數和 共同組成了實數,用來區別人類所認識的同一類別中相反方向的事物的數量關係。將類似收入錢數定為正數,沒有錢為 則支出錢數為負數。這收入和支出就是同一類別中相反方向的事物。人們為了對於自己收入和支出有一個綜合起來的認識,就有了正數 負數與 之間的運算關係,收入支出相等時,正負數...

同一崗位同一工作量,不同薪酬待遇怎麼辦

同一崗位同一工作量,理論上應該同工同酬 但是 身份不同 資歷不同 工作質量不同,甚至工作效率不同,都可能成為薪酬不同的依據。所以,只有明確相關事宜,得到最充分最有利的證據,才可以去申訴,維權。 小西湖 找老闆理論去。不過話說回來。為啥要一樣呢?如果殘疾人和正常人同一個崗位,而且同等工作量,那麼工資待...