標題:
[發問]
如何有條件判別並交錯帶入不同表資料?
[打印本頁]
作者:
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/)