gpt4 book ai didi

Excel,WorkSheet_Change 给出未定义的子或函数

转载 作者:行者123 更新时间:2023-12-04 21:08:29 26 4
gpt4 key购买 nike

我正在尝试创建一些代码来在另一个单元格更改时重置一个单元格。有三个下拉单元格,每个单元格都依赖于它之前的单元格(B3 依赖于 B2,B4 依赖于 B3 和 B2)。

因此,如果有人设置 B4,然后更改 B2,则会出现无效组合。所以,如果上面的单元格值被改变,它会强制下面的单元格为默认值(如果B1为值2时B4只能为值3,那么如果将B1更改为值1,则B4被强制为值1)

我现在使用的代码是这样的:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Target.Worksheet.Range("B2")) Is Nothing Then
If Sheet("Talent Sheet").Range("B2") = Human Then
Sheet("Talent Sheet").Range("B3") = Warrior
Sheet("Talent Sheet").Range("B4") = "Human Noble"
Else
If Sheet("Talent Sheet").Range("B2") = Elf Then
Sheet("Talent Sheet").Range("B3") = Warrior
Sheet("Talent Sheet").Range("B4") = "City Elf"
Else
If Sheet("Talent Sheet").Range("B2") = Dwarf Then
Sheet("Talent Sheet").Range("B3") = Warrior
Sheet("Talent Sheet").Range("B4") = "Dwarf Commoner"
End If
End If
End If

这将在 B2 更改时强制 B3 和 B4 为其默认值,但我收到编译错误“未定义子或函数”

老实说,我不知道是什么原因造成的。 M$ help 说这是因为 sub 过程拼写错误,但我复制了其中的一些代码,并根据很多来源进行了检查。

最佳答案

您正在使用 Sheet而不是 Sheets .

通过使用 Sheet编辑认为您正在寻找一个名为 Sheet 的新函数并且无法在任何地方找到它定义(因为它不是 VBA 定义的函数),所以它给出了那个错误。

此外,您可能想要使用 "human , Dwarf等,除非这些是在某处定义的。

最后,我会 强烈推荐使用 Option Explicit在每个模块的顶部,因为这将有助于防止许多此类错误(例如 Human Dwarf 文本不在 " 中)。

关于Excel,WorkSheet_Change 给出未定义的子或函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12692509/

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