2011-03-10 17 views
0

我想跟蹤工作簿(DATA)中所做的更改。 DATA-workbook被幾個人用來共享信息。不同的人填寫工作簿及其相關信息,最終會自動保存。我想知道每個步驟需要多長時間並將這些日期戳記複製到另一個工作簿(LOG)中,這樣我可以看到是否有人忘記填寫工作簿。由於工作簿中更改日期戳記的「日誌文件」

Info   Requestor  Me   Support 
b1001  Kevin   Anders  Support 
       04-03-2011 05-03-2011 09-03-2011     
dd1001  Carl   Anders  Support 
       05-03-2011 05-03-2011 07-03-2011 
hahv500 Steve   Anders  Support 
      07-03-2011  

以上數據只是DATA-workbook的一小部分。

我要找應該打開日誌,工作簿和數據和日期戳複製,當有人進入他們的信息的代碼..

請求者電子郵件的文件給我,然後我Ë郵件給支持。我想,當請求者給我發電子郵件時,第2行和第B3單元被複制到LOG-wookbook中。當我通過電子郵件發送給支持人員時,單元格C3被複制並粘貼到日誌中,當支持人員保存時,單元格D3被複制/粘貼。

我期待着得到一個簡單的答案,因爲我不是Excel的wizzard。

感謝,

安德斯


謝謝您的回答。據我所知,如果Target改變了,那麼代碼會彈出一個消息框,我不需要它。

我有這個第一步。我不知道下一步該怎麼做。如果我必須做一些查找...幫助表示讚賞!

Dim FirstBlankCell As Range 

ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False 
Range("B7") = Now 


Workbooks.Open Filename:=Range("Log_destination") 
ThisWorkbook.Activate 
Workbooks(Range("Log_file_name").Value).Sheets(Range("2011").Value).Activate 

Set FirstBlankCell = Range("A" & Rows.Count).End(xlUp).Offset(1, 0) 
FirstBlankCell.Activate 

ThisWorkbook.Activate 
ActiveSheet.Range("A6:D6", "A7:B7").Copy 
Workbooks(Range("Log_file_name").Value).Sheets(Range("2011").Value).Activate 
Selection.PasteSpecial Paste:=xlPasteValues 
ActiveWorkbook.Close True 
+0

我對醜陋的代碼表示歉意 - 我盡力了:) – Anders 2011-03-10 17:28:32

回答

0

我沒有一個現成的解決方案,但您可以嘗試使用WorkBook Events。例如使用

Option Explicit 
Private Sub WorkSheet_Change(ByVal Target As Range) 
    MsgBox "the value was changed" 
End Sub 

並改變其顯示該消息的一些例程,這將更新日誌表的操作。當然,你可能會限制它只適用於特定單元格所做的更改。

希望它有幫助。

相關問題