標題:
[發問]
EXCEL 資料表上的資料固定刪除時間
[打印本頁]
作者:
v03586
時間:
2015-9-25 00:56
標題:
EXCEL 資料表上的資料固定刪除時間
本帖最後由 v03586 於 2015-9-25 00:58 編輯
上篇發文程式目的為收料應用
此份資料為資料庫收料的藍本
上篇發文
但事後想此資料保存的效期不需要永久(EXCEL好像只能記錄6萬多筆資料而已) 外加上公司電腦容量有限
想依照C欄位的時間與現在的時間作推算,超過三個月的資料自動刪除
目前C欄位依照程式碼是帶出輸入時間
假設輸入時間是2015/6/20 比對現在時間2015/9/21
那2015/6/20的資料已經超過3個月效期,不知道資料是否能自動刪除
已確保空間跟執行速度呢?
[attach]22089[/attach]
Sub 輸入()
Dim xR As Range, X, Y, T$, N%
Set xR = Cells(Rows.Count, 2).End(xlUp)(2, 0)
T = "請輸入收料OP工號 [ Please enter Operator ID ]"
Do: X = InputBox(T, T)
If StrPtr(X) = 0 Then Exit Sub '使用者按〔取消〕跳出
Loop Until X <> ""
T = "請輸入MO [ Please enter MO ]"
Do: Y = InputBox(T & ",輸入完畢請按取消鍵", T)
If StrPtr(Y) = 0 Then GoTo 999 '使用者按〔取消〕結束
If Y <> "" Then
xR.Resize(1, 3) = Array(X, Y, Now)
Set xR = xR(2, 1): N = N + 1
End If
Loop
999: If N > 0 Then ThisWorkbook.Save
End Sub
複製代碼
作者:
准提部林
時間:
2015-9-25 18:06
超過90天才刪,以獨立程序執行:
Sub 刪除()
Dim R&
R = Application.CountIf([Database!C:C], "<" & Date - 90)
If R > 0 Then [Database!A2:C2].Resize(R).Delete Shift:=xlUp
R = Application.CountIf([Database!F:F], "<" & Date - 90)
If R > 0 Then [Database!D2:F2].Resize(R).Delete Shift:=xlUp
End Sub
複製代碼
作者:
v03586
時間:
2015-9-26 00:11
回復
2#
准提部林
感謝版主的回覆!解決了老闆突然丟給我的一個問題.....:handshake
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)