返回列表 上一主題 發帖

[發問] 二維陣列的排序問題?

[發問] 二維陣列的排序問題?

各位前輩:

資料如附件
Book1.rar (13.16 KB)

小弟目前的作法是將SHEET2中的資料寫入一個二維的陣列,但是如有新的資料列如SHEET3,
要如何將其寫入到陣列中而且資料按照ITEM欄重新排列,並將相同的ITEM跟NO.加總NUM的量。

另外,SHEET1中的資料如何計算相同的計算有幾個?列如:ITEM:DDD & NO.:1的共有45筆
這也可以用Dictionary的方式來做嗎?

還請各位前輩指導。

回復 2# Hsieh

Hsieh版大:
感謝您快速的回覆,程式執行過後沒什麼問題,
由於初學對VBA中的物件還不清楚,有幾個地方小弟還要研究一下。

再次感謝!

TOP

回復 5# PD961A



PD961A前輩:

這個附件中的資料來源是已經整理過的了,實際的資料表較大,
資料內容也不完整(item欄位有些是空白,只有在第一個才有,下面相同item的被省略),
而且資料之間有一些不必要的空行。

因此我原本的想法是想要利用一個二維的陣列來把sheet2中的資料儲存到陣列
如果是空白就跳過,如果item是空白但是no.欄位跟num欄位中有值,
就視為與上個item中的值相同,將其item中的值補上,讓其資料完整。

還有一點是我當初提問時沒有想到的,在這先跟Hsieh版大說聲抱歉…
當初沒有說明清楚,我想要的結果應該是要item攔是要照sheet2中的順序來排序,
而no.欄則由小到大排序,num欄只要將其相同的加總。

將sheet3中的資料加入並照上面的規則來排序,
小弟目前有想到的概念是應該要再利用一個二維陣來當暫存,
但還沒想到要如何寫成程式,或是各位前輩有什麼更好的方法還請各位前輩指點。

重新附上一個新的附件,內容有些修正,想要的結果如sheet3中的J欄到L欄。
**內含Hsieh版大先前的程式碼
**修改sheet2的item順序
**抓取的值可以不用含標題

Book1.zip (21.82 KB)

TOP

回復 7# Hsieh

感謝Hsieh版大快速的回覆,
試過了沒有什麼問題,若有不了解的地方再來請教。

TOP

回復 7# Hsieh


   
Hsieh版大:
請問一下,因為將SHEET2跟SHEET3相加後看不出來哪一筆是兩張SHEET都有相加過的,
希望能顯示成
DDD       2           20+10
所以小弟試著修改將Hsieh版大程式碼的第14行改成
ar(2) = A.Offset(, 2) + "+" + ar(2)
但出現錯誤,請問Hsieh版大如果改成此種顯示,如何修改程式。

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題