错误消息“运行时错误 9”出现在 Microsoft Excel 的 Visual Basic 中的某些方案中。虽然此错误的主要原因是主要基本代码中的范围问题,但在某些情况下,您可能会面临这种困境。在本指南中,我们讨论了您可能遇到此错误的所有可能解决方案以及如何对此进行故障排除。
修复 1 – 检查代码中提到的范围
当代码中断言的范围配置错误时,会出现“运行时错误 9”。因此,在这种情况下,请检查代码中提到的变量范围。
例子 –
Sub Newfunction() Dim Array() As Variant Array(1) = "Zero" End Sub
正如您在代码中看到的,Array 被声明为变体,但没有任何适当的范围。这就是为什么,当您在 VB 编辑器中运行此代码时,您将收到下标错误。
只需更改代码中的范围,您就可以开始了
修复2 –调整工作表的名称
如果您同时使用多个工作表,则代码中显示的工作表名称可能不正确。
例子 –
Sub CommandButton1_Click() Worksheets("Sheet").Range("A1:D5").Select Selection.Copy Worksheets("Sheet1").Activate Worksheets("Sheet1").Range("A1:D5").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub
如您所见,在运行上述VBA代码时,Excel将为您提供超出范围的错误代码9下标。这样做的原因是提到的工作簿的范围是工作表,并且操作是在工作表 1 而不是工作表 2 上完成的。
现在,你可以这样做——
步骤1 –只需右键单击工作表,然后点击“重命名”即可重命名工作表。
步骤2 –更正工作簿的名称。
你可以这样重新调整代码——
Sub CommandButton1_Click() Worksheets("Sheet").Range("A1:D5").Select Selection.Copy Worksheets("Sheet2").Activate Worksheets("Sheet2").Range("A1:D5").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub
运行此代码,您将不会再遇到任何下标范围问题。
修复3 –启用宏
如果 VBA 脚本使用任何宏模块,而您尚未启用它们,则启用宏应该可以帮助您解决问题。
步骤1 –转到Excel工作簿,然后单击“文件”菜单。
步骤2 –这一次,单击左侧功能区中的“选项”菜单。
步骤3 –您必须找到并打开“信任中心”选项卡。
步骤4 –在右侧窗格中,单击打开“信任中心设置”选项。
步骤5 –这里有很多选择。选择打开“宏”选项卡。
步骤 6 –现在,根据代码中的宏设置,转动以下任一选项 –
Disable all macros except digitally signed macros Enable all macros (not recommended: potentially dangerous codes can run)
步骤 7 –点击“确定”以将更改保存在Excel中。
现在,在Excel中保存这些更改后,您可以再次运行VB代码。
修复 4 – 逐步调试代码
就像其他终端一样,Visual Basic 模块确实有一个调试工具。使用这些代码对代码进行故障排除。
步骤1 –打开MS Excel页面后,转到“开发人员”选项卡。
步骤2 –接下来,点击第一个选项,即“Visual Basic”。
步骤3 –打开 Visual Basic 控制台后,选择具有可疑值的步骤。
步骤4 –在此之后,打开“调试”菜单并使用其中的工具找出导致此下标错误的错误。
现在,您可以自己测试代码。
修复5 –打开并修复Excel文件
电子表格本身可能已损坏。因此,您应该修复并打开Excel文件。
步骤1 –将更改保存在 MS Excel 应用程序中。
步骤2 –单独启动 Microsoft Excel 应用程序。
步骤3 –这一次,点击第一个菜单“文件”。
步骤4 –接下来,走这条路——
Open > Browse
步骤5 –下一步是手动转到 Excel 文件的位置。
步骤 6 –接下来,选择其中的文件。
步骤 7 –最后,将底部选项切换为“打开并修复”从列表中。
加载 Excel 文件后,您终于可以运行 Visual Basic 代码,而不会出现任何问题。