运行时错误438无处不在

时间:2018-04-12 19:27:22

标签: vba runtime-error

我一直在使用下面的代码编写一个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

1 个答案:

答案 0 :(得分:0)

供将来参考目标是指工作表内的变化范围。 因此,Sheets("1107").Target.Value应该只是Target.Value。它将隐含地是活动表。