利用VBA每隔一段時間去網芳撈取資料並且顯示在Sheet1,然後Sheet2有一張對照表,excel必須根據sheet2去找sheet1中有無符合者並顯示在sheet3
舉例: Sheet2有 apple、book、cook、desk、enter、food.....等字眼
Sheet1只要符合任一個就要顯示在Sheet3
另外Sheet1的資料型態為 120808 16:24:33 U iamtheappleofyoureye
以時間為區分,行數不一定但是每段資料前面一定會有時間標記,請問可以將這種資料以時間標記分行嗎?
xpresso提到:
另外Sheet1的資料型態為 120808 16:24:33 U iamtheappleofyoureye
以時間為區分,行數不一定但是每段資料前面一定會有時間標記,請問可以將這種資料以時間標記分行嗎?
可以先依 Sheet1 抓取到的資料, 如果有規則, 可以這樣建立:
b1=left(a1,6) (日期)
c1=mid(a1,8,8) (時間)
d1=mid(a1,17,1) (使用者)
e1=right(a1,len(a1)-18) (使用者)
sheet2 用 search 去找關鍵字, 並對找到的關鍵字記錄:
例如: b1="研發"
b2=if(iserror(search(b1,sheet1!e1)),"0","1") (如果有發現該字, 就顯示1, 否則顯示0
把最後有找到關鍵字的部份加總, 如果大於 0 就表示有出現關鍵字了, 再挑出來.
參考樣本:
https://docs.google.com/spreadsheet/pub?key=0Ar10y-TeUk90dHczRXpuVVQ0WXZYZzJUUVFidWJKZ3c&output=xls
不是,完全跟監控MSN無關~~另可否設定每隔一定時間去讀取呢?
電腦無法安裝任何其他軟體,所以安裝軟體一途是沒有用的
VBA 有這種用法 Application.OnTime Now + TimeValue
但還是建議說明一下資料來源是什麼? 是否一定要用 Excel ?
如果電腦無法安裝其他軟體, Windows 也提供了 find / findstr 兩個指令, 搭配 at 也可以定期執行.
資料來源為多個網路硬碟中資料夾的檔案,該資料夾內檔案會以日期作為檔名並且不斷產生資料,例如 X:/ithd/machinea/20120809.log
Y:/ithd/machineb/20120809.log
Z:/ithd/machinec/20120809.log
希望以Excel定時去讀取此三個甚至更多的log檔,並且依照對照表去搜尋符合的資料段落,log檔內的資料以時間做區隔,如 0809 01:41:8609 Y machineb data1
(下一斷資料開始一定是以時間開頭) 0809 01:59:5862 N machineb data2
所以當判斷data1字串裡有符合的字出現時可以自動抓取整段資料並存到另一個Sheet裡