【问题标题】:Runtime Error 13 when assigning sheet to variable将工作表分配给变量时出现运行时错误 13
【发布时间】:2013-01-30 02:41:43
【问题描述】:

我在一个单独的模块中创建了一个子例程,用于在我正在处理的 Excel 项目中分配一些全局变量。我正在将工作表分配给变量,并且有 9 个工作表/变量,但在运行时 13 上只有 1 个错误,当我检查本地窗口时,我看到分配的类型是“工作表”而不是“变量/对象/工作表#”作为其余的人都这样做。这是一些代码:

Public Cover, Notes, HWIO, IntChn, FbChn, _ 
 DigFb, AnaFb, RemAlm, OGoL As Worksheets

Public Sub AssignVars()
 Set Cover = Sheets("1. Cover")
 Set Notes = Sheets("2. Notes")
 Set HWIO = Sheets("3. HW Input-Output")
 Set IntChn = Sheets("4. Internal Channels")
 Set FbChn = Sheets("5. Funct Block Channels")
 Set DigFb = Sheets("6. Digital Funct Blocks")
 Set AnaFb = Sheets("7. Analog Funct Blocks")
 Set OGoL = Sheets("OGOnline")
 Set RemAlm = Sheets("8. Remote Alarming")
End Sub

错误发生在Set OGoL = Sheets("OGOnline")

查看局部变量,我看到除了 OGoL 之外的所有变量都分配了一个工作表对象。 OGoL 那里有“工作表”。它可能正盯着我看,但我不知道为什么会出现类型不匹配,工作表按名称存在。

【问题讨论】:

    标签: excel excel-2007 vba


    【解决方案1】:

    这是因为您将 Worksheet 分配给 Worksheets 变量。

    在前七个变量初始化中没有遇到这种情况的原因是因为您已将这些变量声明为类型变体。为了将这些变量声明为 Worksheet 类型,您必须这样指明:

    Public Cover As Worksheet, Notes As Worksheet, HWIO As Worksheet, _
    IntChn As Worksheet, FbChn As Worksheet, DigFb As Worksheet, _
    AnaFb As Worksheet, RemAlm As Worksheet, OGoL As Worksheet
    

    【讨论】:

    • 好热狗,我们有一个韦纳。谢谢,我知道它在盯着我看。解决了我所有的问题!
    猜你喜欢
    • 2020-10-27
    • 2023-02-20
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多