我想跟踪工作簿(DATA)中所做的更改。 DATA-工作簿被几个人用来共享信息。不同的人用他们的相关信息填写工作簿,最终会自动保存。我想知道每个步骤需要多长时间并将这些日期戳复制到另一个工作簿(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工作簿的一小部分。
我正在寻找的代码应该打开LOG工作簿,并在有人输入信息时复制数据和日期戳。
请求者通过电子邮件将文件发送给我,然后通过电子邮件发送给支持人员。我想当请求者通过电子邮件发送给我时,第2行和单元格B3被复制到LOG-wookbook中。当我通过电子邮件发送给支持时,单元格C3被复制并粘贴到LOG中,当支持保存时,单元格D3被复制/粘贴。
我期待得到一个简单的答案,因为我不是一个Excel wizzard。
谢谢,
的Anders
感谢您的回答。据我所知,如果目标被更改,该代码会弹出一个消息框,而我不需要它。
第一步我有这个。我不知道如何处理下一步。如果我必须做一些查找......感谢帮助!
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 :(得分:0)
我没有exatct解决方案,但您可以尝试使用WorkBook Events。例如,使用
Option Explicit
Private Sub WorkSheet_Change(ByVal Target As Range)
MsgBox "the value was changed"
End Sub
并将显示消息的操作更改为某个例程,这将更新LOG工作表。当然,您可以将其限制为仅适用于在特定单元格上进行的更改。
希望它有所帮助。