繁体   English   中英

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

[英]Excel VBA error 438 “Object doesn't support this property or method”

好的,所以我绝对是VBA的新手,但我正在学习。 据我所知,没有理由我的代码不能正常运行,并且过去也没有。 该错误不断弹出。 我的目的是制作一张工作表,当您将一个人添加到主工作表时,该工作表会自动更新其他工作表。 该代码似乎可以正常运行,但是却突然抛出此错误,我不知道为什么。 我环顾四周,但没有一种解决方案与我的问题遥相关。 任何帮助找出确切的错误位置将不胜感激!

下面是调试器在说错误的地方:

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

这就是被调用的函数:

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方法中给定值的公共工作簿变量。 Week1和Week2是工作表的技术名称(未显示的名称)

在子目录中,更改以下内容:
ThisWorkbook.UpdateSheets (Week2)
对此
Call UpdateSheets(ThisWorkbook.Worksheets("Week2"))

问题说明

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM