Vba Excel 2010:下标超出范围错误
我收到的错误是运行时错误“9”:下标超出范围Vba Excel 2010:下标超出范围错误,vba,excel,excel-2010,subscript,Vba,Excel,Excel 2010,Subscript,我收到的错误是运行时错误“9”:下标超出范围 Sub Workbook_Open() 'Turn off any alerts that maybe displayed. Application.DisplayAlerts = False 'Turn of the screen updates Application.ScreenUpdating = False 'Declare the workbook, create it, save it and close it Dim wk As
Sub Workbook_Open()
'Turn off any alerts that maybe displayed.
Application.DisplayAlerts = False
'Turn of the screen updates
Application.ScreenUpdating = False
'Declare the workbook, create it, save it and close it
Dim wk As Workbook
Set wk = Workbooks.Add
wk.SaveAs Filename:="C:\Saved File\KPI_Grid.xlsm", FileFormat:=52, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
wk.Close
'Open the workbook again. This will get rid of the 'Compatibilty View' and then activate the orginal workbook
Application.Workbooks.Open Filename:="C:\Saved File\KPI_Grid.xlsm"
Workbooks("KPI Grid V5K1 - macro testing.xlsm").Activate
Worksheets("Weekly").Activate
'Select all cells and copy them
Cells.Select
Selection.Copy
'Activate the workbook and sheet that we are going to paste into.
Workbooks("KPI_Grid.xlsm").Activate
Worksheets("Sheet1").Activate ' ******************ERROR HERE ******************
Cells.Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Activate the previous workbook again.
Workbooks("KPI Grid V5k1 - macro testing.xlsm").Activate
Worksheets("Monthly").Activate
Cells.Select
Cells.Copy
Workbooks("KPI_Grid.xlsm").Activate
Worksheets("Sheet2").Activate
Cells.Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
端接头
我认为这是一项相对简单的任务。目的是创建一个新工作簿,复制两张工作表的值,然后保存并关闭新工作簿。
为什么此代码会出错?转到此行
工作表(“Sheet1”)。激活
按F9键
按F5
检查屏幕-工作簿“KPI_Grid.xlsm”是否已激活?
它真的有一张叫做“Sheet1”的纸吗
如果Sheet1与代码不在同一工作簿中,则这自然会出错-您需要确保所有内容都符合以下条件:
ActiveWorkbook.Worksheet(“Sheet1”).Activate
我刚刚偶然发现一篇旧帖子,你对类似情况发表了评论。-如何检查工作表名称的标题?嗨,whytheq,我点击了上面的操作,它抛出了一个运行时错误1004。我在网上快速搜索了一下,它说这可能是因为我的代码在这个工作簿中。这可能是我的问题所在吗?我也试着对上面的线做上述操作,它也抛出了同样的错误。关于,@DJenkins-而不是F5尝试使用F8
-在哪一行首先出现错误?…在那里等待-如果Sheet1与代码不在同一工作簿中,那么它当然会出错!活动工作簿。工作表(“Sheet1”)。激活运行良好的工作表。我认为工作簿之前的行(“KPI_Grid.xlsm”).Activate就是这样做的。嗯,想想是时候买一本VBA的书好好读一读了,而不是从网上拼凑起来!非常感谢你的帮助。