修复Visual Basic for Applications(VBA)中的下标超出范围错误



5月2024更新:使用我们的优化工具停止收到错误消息并减慢您的系统速度。 立即获取 此链接
  1. 下载并安装 修复工具在这里。
  2. 让它扫描你的电脑。
  3. 然后该工具将 修理你的电脑.

发生VBA下标超出范围错误,因为我们要访问的对象不存在。 这是VBA编码中的一种错误,并且是“运行时错误9”。 重要的是要理解编写有效代码的概念,而更重要的是要理解VBA代码的错误以有效地调试代码。

如果您和您的编码错误在您不在时不知道该错误是什么。

如果不知道疾病,医生就不能给病人服用药物。 虽然医生和患者知道存在疾病(错误),但重要的是将疾病(错误)理解为给予她的药物。 如果您完全理解错误,则更容易找到解决方案。

另一个原因可能是您的计算机上没有标准打印机。 有几种解决方案可以解决这个问题 运行时错误9问题,所以按正确的顺序尝试所有。

添加默认打印机

  1. 将打印机连接到计算机,插上电源线并将其打开。
  2. 转到“开始”>“控制面板”>“打印机和传真机”。
  3. 单击“添加打印机”,然后按照屏幕上的说明添加默认打印机。

检查数组

您可能已为数组元素设置了不正确的值。 因此,建议您重新检查为数组元素定义的值,并确保它是正确的。 另外,请务必检查表格声明并检查上限和下限。 如果已调整表的大小,请务必使用LBound和UBound函数来调整访问。 如果索引是变量,请检查变量名称的拼写。

定义元素数量

在某些情况下,您可能没有定义代码中将触发错误的元素数。 建议使用Dim或ReDim函数指定表中的元素数。

如何避免VBA中的“超出范围错误下标”错误

避免使用Excel中集成的功能:ActiveWorkbook,ActiveSheet和Selection:输入返回值并选择合格的表达式。



2024年XNUMX月更新:

您现在可以使用此工具来防止 PC 问题,例如保护您免受文件丢失和恶意软件的侵害。 此外,它是优化计算机以获得最大性能的好方法。 该程序可轻松修复 Windows 系统上可能发生的常见错误 - 当您拥有触手可及的完美解决方案时,无需进行数小时的故障排除:

  • 步骤1: 下载PC修复和优化工具 (Windows 10,8,7,XP,Vista - Microsoft金牌认证)。
  • 步骤2:点击“开始扫描“找到可能导致PC问题的Windows注册表问题。
  • 步骤3:点击“全部修复“解决所有问题。

下载



仅在最外部的宏(子)中使用集成,并在启动宏时捕获,例如

设置wkb = ActiveWorkbook
设置wks = ActiveSheet
盐集=选择
在宏期间和宏中,这些集成名称不可靠,但会记录返回值,例如

设置wkb = Workbooks.add'而不是Workbooks.add,而不输入返回值。
wkb.Activate”,而不是Activeworkbook.Activate
例如,也尝试使用限定表达式

wkb.Sheets(“ Sheet3”)。name =“ foo”'而不是Sheets(“ Sheet3”)。name =“ foo”。
or

设置newWks = wkb.Sheets.Add。
newWks.name =“ bar”',而不是ActiveSheet.name =“ bar”。
使用合格的表达式,例如

newWks.name =“ bar”,而不是“ xyz.Select”,然后是Selection.name =“ bar”。
这些方法通常效果更好,产生的混淆效果更少,重构更稳健(例如,在方法内和方法之间移动代码行),并且在所有版本的Excel中都能更好地工作。 例如,在宏的执行期间,选择从一个版本的Excel改变为另一个版本。

另请注意,您可能会发现使用更多限定表达式并不需要激活几乎同样多的函数。 (这可能意味着屏幕对用户的闪烁较少。)因此整个Windows(表达式)行。 可以简单地删除Activate而不是被wkb替换。 完全激活。

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/subscript-out-of-range-error-9



专家提示: 如果这些方法都不起作用,此修复工具会扫描存储库并替换损坏或丢失的文件。 在问题是由于系统损坏引起的大多数情况下,它都能很好地工作。 该工具还将优化您的系统以最大限度地提高性能。 它可以通过以下方式下载 点击这里