我一直在使用下面的代码编写一个doc,并且没有任何问题。它应该将对另一个工作表的任何更改列入此工作表“日志详细信息”。不知道我做了什么不同,但现在代码给我一个运行时438错误。有没有人有任何想法?
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim sSheetName As String
sSheetName = "1107"
If ActiveSheet.Name <> "LogDetails" Then
Application.EnableEvents = False
Sheets("LogDetails").Unprotect
Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = Target.Address(0, 0)
**Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 1).Value = Sheets("1107").Target.Value** <--This is the code that brings up the error.
Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 2).Value = Environ("username")
Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 3).Value = Now
Sheets("LogDetails").Columns("A:D").AutoFit
Application.EnableEvents = True
End If
End Sub
答案 0 :(得分:0)
供将来参考目标是指工作表内的变化范围。
因此,Sheets("1107").Target.Value
应该只是Target.Value
。它将隐含地是活动表。