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