Board logo

標題: [發問] 如何有條件判別並交錯帶入不同表資料? [打印本頁]

作者: luke    時間: 2012-7-22 12:19     標題: 如何有條件判別並交錯帶入不同表資料?

本帖最後由 luke 於 2012-7-24 20:13 編輯

各位大大

1.Sheet("WX")A:B欄與Sheet("MX")B:D欄各自表示兩個資料查詢區(各有6,000-10,000資料列),其中Sheet("MX")為單一類
   別僅使用"MM*"作字元開頭.

2.Sheet("DATA")B:D欄為資料輸入區,包含數量不等的"區塊 資料列"組合用空白列隔開.
   B欄字串中第1個字元可能 有";"符號和其他中文字或"/"符號.
   C欄字串表示Sheet("WX")與Sheet("MX")的查詢準則.
   D欄儲存格可能有兩個字串組合並用逗號',"來作區分,其中第1個字串取第1個字元來做多重判斷
           如">","="和"<"3種運算式.
   F:H欄為資料結果區要分別對應B:D欄所示條件.

3.每次匯入4,000-5,000筆資料列至DATA工作表中的B:D欄,其條件判斷要求原則如下述說明:
    (a1) 若B欄無資料不需處理即該資料列顯示空白
          如第4列無資料呈現空白即可.
    (a2) 若B欄有資料而C欄無資料時就要顯示B欄的資料至F欄.
            如B5儲存格為"MA/非MA"應顯示至F5儲存格
                 B6儲存格為"VIP"應顯示至F6儲存格.

    (b) 當C欄有資料就要引入所對應Sheet("WX")的"名稱"或Sheet("MX")的"名字"準則並帶入至F欄即可.
           若C欄字元有"MM*"開頭,還要複製至G欄(須參考下項D欄準則).
           (b1) 如C2儲存格所示為"代碼"就要對應至Sheet("WX")的"名稱"
                    即"A0000"應顯示對應至F2儲存格為"台北10";
           (b2) 如C10儲存格所示為"代號"就要對應至Sheet("MX")的"名字"
                    即"MMx0010"應同時顯示對應至F10和G10儲存格各為"人名0008".(G欄須參考下項準則)

(c) D欄有資料就要顯示至G欄.若D欄該儲存格首字帶有">","=" 和"<"任一種運算式時,
      應先依照上述C欄所載開頭"MM*"準則去引入內容,及/或加入全部字元直到逗號","處為止,
      而逗號","後面的資料為"代碼" 時就要對應Sheet("WX")的"名稱".
      (c1) 如D6儲存格為";100101"須複製至G欄儲存格即可;
      (c2) 如D10儲存格的首字因有"="運算式,必須先填上C10儲存格"MMx0010"所對應代號的"名字"為"人名0008",
              再加入逗號","前面的字元"=#1"即G10儲存格顯示為"人名0008=#1",
              而逗號","後面的代碼"H01"要對應至H10儲存格即顯示為"高雄601";
       (c3)  同理D11儲存格的首字有">"運算式須先加上C欄內所示代號的"名字"為"人名0012"和逗號","前面的字元">="
                及代號"MMx0014"所對應的"名字"為"人名0010"即G11儲存格顯示為"人名0012>=人名0010",
                 而逗號","後面的代碼"J000"資料應對應至H欄即H11儲存格顯示為"屏東700".

4. F ~ H 欄為完成後顯示資料.

因區塊資料列常做修改,如何利用VBA寫出程式?
(如無法用VBA判斷要如何寫入公式)

煩請先進 大大指導




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)