2015-01-13 145 views
2

有人可能會自動讓Excel在某人關閉文件時執行操作嗎?關閉工作簿時的VBA Excel操作

我是很新,VBA的計算器,所以請憐憫..

情況: 我有也用於BIJ其他幾個人的Excel文件。該文件發佈mhtml文件進行保存。這個mhtml文件將被保存爲昨天的日期,如「Dashboard 2015-01-12」。在mhtml文件中看到的數據必須包含與文件名相關的日期。所看到的數據取決於這個excel文件中的單個單元格,G2

我想讓Excel文件執行此操作: 將單個單元格(G2)更改爲昨天的日期。然後保存它。然後關閉它

我想要做這個動作: 當有人關閉文件

代碼是尚未:

Sub sbWriteCellWhenClosing() 

Workbooks("BOOK1.XLS").Close SaveChanges:=True 
Range("G2") = Format(Now - 2, dd - mm - yy) 

End Sub

編輯:

這是否會做這項工作?

 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
    Range("G2") = Format(Now - 1, dd - mm - yy) 
    ActiveWorkbook.Close SaveChanges:=True 
End Sub 
+3

的可能重複的[閉合工作簿時刪除範圍,XLS VBA](HTTP:/ /stackoverflow.com/questions/6422693/deleting-range-when-closing-workbook-xls-vba) –

+1

嘗試尋找'私人小組Workbook_BeforeClose(取消爲布爾)' – Jens

+0

我想這會這樣做。我現在應該關閉這個問題嗎? – RiveR

回答

6

這是通過使用工作簿的代碼:

Option Explicit 

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
    Call sbWriteCellWhenClosing 
End Sub 

在一個單獨的模塊:

Sub sbWriteCellWhenClosing() 

    ActiveSheet.Range("G2") = Format(Now - 1, "dd-mm-yy") '-1 for yesterday 
    ActiveWorkbook.Save 

End Sub 
+1

這工作,非常感謝! – RiveR

相關問題