Q:我想要在用戶修改工作表指定單元格的內容時,在另一工作表中記錄修改的時間 。例如,在工作表Sheet1的單元格B2中,每次用戶將該單元格值修改為某一大于0的數值時,則在工作表LogB2中記錄下其修改的時間 。
具體地說,如果在2019年10月24日19時30分30秒,用戶將單元格B2中的值修改為280,那么在工作表LogB2中記錄下時間2019-10-24 19:30:30;如果在2019年10月25日8時10分15秒又將單元格B2中的值修改為100,那么工作表LogB2中增加一條時間記錄2019-10-25 8:10:15 。
A:這可以使用工作表事件來完成 。
打開VBE,雙擊工作表Sheet1對象模塊,輸入代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngInput As Range
Dim rngLog As Range
‘要記錄其修改時間的單元格
Set rngInput = Range(“B2”)
‘確定單元格是目標單元格
If Intersect(rngInput, Target.Cells(1, 1)) Is Nothing Then Exit Sub
‘修改為小于0的值不記錄
If rngInput.Value <= 0 Then Exit Sub
‘將修改單元格時的時間記錄到工作表LogB2
With Worksheets(“LogB2”)
【excel圖表怎么記錄指定單元格每次修改的時間?】‘工作表最后一行
Set rngLog = .Cells(.Rows.Count,1).End(xlUp)
‘確定工作表最后一行單元格含有值
If Len(rngLog.Value) > 0 Then
‘移至下方相鄰的空單元格
Set rngLog = rngLog.Offset(1, 0)
End If
End With
‘寫入當前時間
rngLog.Value = https://www.i8ku.com/2021/Now
End Sub
Q:我想增加記錄另一個單元格的修改時間,例如單元格D2每次修改的值大于0時,將修改的時間記錄到工作表LogD2中,如何編寫代碼?
A:同樣使用工作表事件來完成 。
打開VBE,雙擊工作表Sheet1對象模塊,輸入代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngLog As Range
Dim wksLog As Worksheet
‘根據所修改的單元格
‘賦值相應的工作表
Select Case Target.Cells(1, 1).Address
Case “$B$2”
Set wksLog =Worksheets(“LogB2”)
Case “$D$2”
Set wksLog =Worksheets(“LogD2”)
Case Else
Exit Sub
End Select
‘如果修改的值小于0則不記錄修改時間
If Target.Cells(1, 1).Value <= 0 ThenExit Sub
With wksLog
‘工作表數據所在的最后一行
Set rngLog = .Cells(.Rows.Count, 1).End(xlUp)
‘如果最后一個數據單元格包含值
If Len(rngLog.Value) > 0 Then
‘偏移到下方相鄰單元格
Set rngLog = rngLog.Offset(1, 0)
End If
End With
‘寫入當前時間
rngLog.Value = https://www.i8ku.com/2021/Now
End Sub
猜你喜歡
- excel使用VBA獲取能夠打開指定文件的EXE程序
- 淘寶地推補單物流怎么發貨?需要注意哪些細節?
- 閑魚賣家最遲幾天發貨?怎么與買家溝通?
- 淘寶號為什么會被降權?降權了怎么解決?
- 閑魚沒發貨可以退款嗎?怎么退貨?
- 怎么美化自己的淘寶店鋪?淘寶美化店鋪有哪些技巧?
- 淘寶一口價設置低了怎么辦?怎么修改?
- 手機端天貓怎么查看店鋪資質?開店流程介紹
- 淘寶銷售信息為什么不可以多打幾個字?怎么設置?
- 眼角皺紋怎么去
