gpt4 book ai didi

vba - Excel VBA 错误 438 "Object doesn' t 支持此属性或方法”

转载 作者:行者123 更新时间:2023-12-04 21:03:58 24 4
gpt4 key购买 nike

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

最佳答案

解决方案

在 sub 中,改变这个:ThisWorkbook.UpdateSheets (Week2)对此Call UpdateSheets(ThisWorkbook.Worksheets("Week2"))
问题的解释

similar question on SO
没有UpdateSheets ThisWorkbook 的成员目的。

关于vba - Excel VBA 错误 438 "Object doesn' t 支持此属性或方法”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29322046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com