错误9 - VBA编程

时间:2018-05-15 15:07:23

标签: excel vba excel-vba

我正在尝试重新编码一个VBA宏,它给了我9“下标超出范围的错误。”在线资源没有帮助,因为它在我的宏上显示的方式与它们给出的示例不同。有人可以指出我需要修改我的代码和放大器的位置吗?如何?

enter image description here

2 个答案:

答案 0 :(得分:0)

正如Funthomas在评论中所说,很可能是因为你没有一张名为“MAIN”的表。如果你有一个名为“MAIN”的工作表,那么可能是因为它不在您的活动工作簿中,如果是这种情况,那么您可以使用更精确的代码来识别它,例如

Set oWS = Workbooks(WorkbookName).Worksheets("MAIN")

PS。我会评论这个,但我没有代表。

答案 1 :(得分:0)

/ offtopic - 开始/

欢迎使用StackOverflow。通常,问题不符合StackOverflow的规则。但是,您是新用户并关注the idea for a change in StackOverflow - 为了欢迎新用户,我决定在这里花一些时间。 尝试“重新编码”VBA代码始终是一个棘手的主题。 一般来说,如果你是一名初学者,最好从头开始,阅读一本关于它的书,同时遵循那里的代码。 然后,如果您有问题,请始终在StackOverflow中询问,我们喜欢新成员提出有意义的问题。 :) 在提出问题之前请仔细阅读,并确保其符合 - https://stackoverflow.com/help/how-to-ask。 然后,我可以向你保证,人们会很好地分享他们的知识,从而扩展他们的技能。

/ offtopic - 结束/

代码不起作用,因为它指的是一个不存在的工作表。要使其工作,请尝试以下方法:

Option Explicit

Sub GoToDriFlo()
    Dim SheetName As String
    Dim oWs As Worksheet

    Set oWs = Worksheets(1)
    SheetName = "DriFlo"

    oWs.Cells(1000, 1) = SheetName
    Worksheets(2).Name = SheetName
    Worksheets(SheetName).Activate

End Sub

要查看代码的工作原理,请尝试调试它,按 F8