Excel VBA错误438“对象不支持此属性或方法”

好吧,我绝对是VBA的新手,但我正在学习。 据我所知,没有理由我的代码不应该运行良好,并在过去。 这个错误不断popup。 意图是什么我正在制作一张表格,当您将一个人添加到主表格时,表格会自动更新其他表格。 代码似乎工作,但它是突然抛出这个错误,我不明白为什么。 我环顾四周,但没有一个解决scheme似乎与我的问题是远程相关的。 任何帮助搞清楚错误的地方将不胜感激!

以下是debugging器说错误的地方:

Private Sub Worksheet_Activate() ThisWorkbook.UpdateSheets (Week2) End sub 

这就是所谓的function:

 Public Function UpdateSheets(ByRef w As Worksheet) HowManyPeople With w .Columns("A:W").HorizontalAlignment = xlCenter Dim i As Integer Dim j As Integer For i = 1 To x If IsEmpty(.Cells(i, 2)) Then For j = 2 To 12 .Cells(i + 4, j).Borders.LineStyle = xlContinuous If j <> 12 Then .Cells(i + 4, j).Interior.ColorIndex = 2 .Cells(i + 4, j).Locked = False Else .Cells(i + 4, j).Interior.ColorIndex = 15 .Cells(i + 4, j).Locked = True End If If j = 2 Then .Cells(i + 4, j).Value = Week1.Cells(i + 4, j) Else .Cells(i + 4, j).Value = "0" End If Next j End If Next i i = x + 5 Do For j = 2 To 12 .Cells(i, j).Borders.LineStyle = xlNone .Cells(i, j).Interior.ColorIndex = 2 .Cells(i, j).Locked = True .Cells(i, j).Value = "" Next j i = i + 1 Loop Until IsEmpty(.Cells(i, j)) End With End Function 

HowManyPeople函数是一种基本的行计数方法。 x是HowManyPeople方法中给定值的公共工作簿variables。 Week1和Week2是工作表的技术名称(不显示名称)

在子中,改变这一点:
ThisWorkbook.UpdateSheets (Week2)
对此
Call UpdateSheets(ThisWorkbook.Worksheets("Week2"))

问题的解释

在SO上看到类似的问题
ThisWorkbook对象没有UpdateSheets成员。