«Файл журнала» отметок даты из-за изменений в книге - PullRequest
0 голосов
/ 10 марта 2011

Я хотел бы отслеживать изменения, внесенные в рабочую книгу (ДАННЫЕ). DATA-workbook используется несколькими людьми для обмена информацией. Разные люди заполняют рабочую книгу своей соответствующей информацией, которая в итоге сохраняется автоматически. Я хотел бы знать, сколько времени занимает каждый шаг, и скопировать эти отметки даты в другую рабочую книгу (ЖУРНАЛ), чтобы узнать, не забыл ли кто-нибудь заполнить рабочую книгу.

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 копируются в журнал регистрации. Когда я отправляю его по электронной почте в службу поддержки, ячейка C3 копируется и вставляется в журнал, а когда служба поддержки сохраняет его, ячейка D3 копируется / вставляется.

Я с нетерпением жду простого ответа, так как я не волшебник Excel.

Спасибо

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

1 Ответ

0 голосов
/ 11 марта 2011

У меня нет точного решения, но вы можете попробовать использовать события WorkBook. Например, используйте

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

и измените действие, отображающее сообщение, на некоторую подпрограмму, которая обновит рабочий лист LOG. Конечно, вы можете ограничить его работу только изменениями, внесенными в определенные ячейки.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...