返回列表 上一主題 發帖

[發問] excel vba 陣列中的資料如何丟給一個另外定義的RANGE

[發問] excel vba 陣列中的資料如何丟給一個另外定義的RANGE

本帖最後由 alexlkklin 於 2012-12-1 21:25 編輯

各位大大,

小的目前在練習陣列的運用,
由於是把現行手上的程式拿來修改,
所以有些地方不清楚要怎麼修改,
請各位大大指導,
謝謝!!!

這個是我把一張表丟上自定的陣列中
TBOMcl = Sheets("表1").Range("a1").End(xlToRight).Column
TBOMro = Sheets("表1").Range("a65535").End(xlUp).Row     

在經過一系列的運算後,我要把陣列中的一欄取出做SUMIF的運算
Set rg7po = Range(Sheets("表1").[q2], Sheets("表1").[q65535].End(xlUp)) [這行是我原本定義做SUMIF索引值的]
小的的問題來了
Set rg7po = Range(Sheets("表1").[q2], Sheets("表1").[t65535].End(xlUp))
怎麼定義=後面的這個部份(這個在以前在小的檔案上是一個SHEET,目前己把這個SHEET讀進陣列中)
ALK

回復 2# stillfish00

大大,
小的檔案原本是做下列的宣告定義:
Set rg7po = Range(Sheets("表1").[q2], Sheets("表1").[t65535].End(xlUp))
這個部份在原先的程式中是給sumif用來做索引的部份,
由於最近開始接觸"陣列"這個部份,
所以想把原來的程式做修改....
小的檔案有多張表,
表一是用來匯總想要的資料:例如-產品品號/庫存/工單.......
表二是庫存狀況表
表三...表四....表五......temp
我都是把各項相關的資料做運算後匯總到表一上,
現在的狀況是當我把整理好的產品品號丟到陣列時,
我想要把原先的Set rg7po = Range(Sheets("表1").[q2], Sheets("表1").[t65535].End(xlUp)) 做修改掉
rg7po是做range的設定
Range(Sheets("表1").[q2], Sheets("表1").[t65535].End(xlUp))這行怎麼把它變成陣列???
ALK

TOP

回復 5# stillfish00

大大,
原始程式如下,
這個部份目前在檔案上都有實際對應的SHEET去作業,
目前我在修改的就是把這些"表"轉成"陣列"去運算,
不知道這樣子大大您有看懂小的問題嗎?
麻煩大大您了,
謝謝!!!

Set rgpn = Range(Sheets("wh").[a2], Sheets("wh").[a65535].End(xlUp)) '庫存資料-庫存料號
Set rgw00 = Range(Sheets("wh").[j2], Sheets("wh").[j65535].End(xlUp)) '庫存資料-成品倉
Set rgw01 = Range(Sheets("wh").[i2], Sheets("wh").[i65535].End(xlUp)) '庫存資料-零件倉

Set rgabpn = Range(Sheets("表1").[C2], Sheets("表1").[C65535].End(xlUp)) '表1料號

cl = Sheets("表2").Range("L1").End(xlToRight).Column '取表2最後一欄
z22 = Sheets("表1").Range("a65535").End(xlUp).Row
z33 = Sheets("表2").Range("a65535").End(xlUp).Row
For i = 2 To z33
pn = Sheets("表2").Range("a" & i)
stk00 = Application.SumIf(rgpn, pn, rgw00)
stk01 = Application.SumIf(rgpn, pn, rgw01)


ttqty = m02a + m01a + m011 + m015 + m019 + m011w + m015w + m019w
Sheets("表2").Range("K" & i) = ttqty
Next
For i = 12 To cl  ''''由表2取A件料號後計算表1上的需求
    For j = 2 To z33
        Dim rgabqty As Range
        Set rgabqty = Range(Sheets("表1").Cells(2, i), Sheets("表1").Cells(z22, i)) '缺料分析R前置置作業-缺料前置的a組件的各日需求
        awpn = Sheets("表2").Cells(j, 1) ' 取表2的料號
        aqty = Application.SumIf(rgabpn, awpn, rgabqty) ''''取表1上的A件單日需求
        qty = Sheets("表2").Cells(j, i - 1)
ALK

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題