Board logo

標題: [發問] 工作表移動或是複製時,新的工作表H7儲存格自動填寫日期跟時間 [打印本頁]

作者: niko88819    時間: 2015-5-16 09:19     標題: 工作表移動或是複製時,新的工作表H7儲存格自動填寫日期跟時間

工作表移動或是複製時,新的工作表H7儲存格自動填寫日期跟時間

如圖片圈紅色處所視
作者: niko88819    時間: 2015-5-17 18:26

求版主跟老師幫忙 ! 先謝謝了 !
作者: lpk187    時間: 2015-5-17 21:47

回復 1# niko88819

你的問題不是很清楚,故只好照我想法去揣摩!
  1. Sub 巨集1()
  2.     Sheets("20140319").Copy After:=Sheets(1)
  3.     Sheets("20140319 (2)").Name = Format(Date & Time, "yyyymmddhhmmss")
  4.     Range("H7") = Format(Date & Time, "yyyymmdd hh:mm")
  5. End Sub
複製代碼

作者: niko88819    時間: 2015-5-17 23:07

老師是這樣的,20140319 可以任何工作表名稱
點選任何工作表名稱時,按右滑鼠鍵,勾選想要任意工作表名稱,選移動或是複製選項,勾選建立複本後按確定
當產生工作表複本時,該工作表複本H7自動填寫日期跟時間
作者: radys    時間: 2015-5-17 23:48

只想到在ThisWorkbook裡面這樣做,但是只有在「新增」的時候會啟動程式碼,

Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Range("H7") = Date & Time
End Sub


至於複製的時候自動加上日期及時間,在下只想到在被複製的表H7填入now的函數,
但這樣一來每張表的時間都會重新計算,但若把運算改手動,複製新表的時候時間又不會動,

另外雖然可以在Activate裡面設定若有複製工作表時    Range("H7") = Date & Time,
但這樣一來恐怕會因為一直執行判斷式而影響Excel的處理效率。
作者: Hsieh    時間: 2015-5-18 11:25

本帖最後由 Hsieh 於 2015-5-18 11:26 編輯

回復 4# niko88819
因為移動或複製並無可用的事件程序
所以只能利用工作表切換時計算工作表數量做依據來執行寫入時間日期
thisworkbook模組程式碼
  1. Public k As Integer
  2. Private Sub Workbook_Open()
  3. k = Sheets.Count
  4. End Sub

  5. Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  6. If k < Sheets.Count Then [H7] = Now
  7. k = Sheets.Count
  8. End Sub
複製代碼
[attach]20967[/attach]
作者: niko88819    時間: 2015-5-18 21:20

超級版主,您真是太厲害了
感謝您幫忙 !
完美解決問題了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)