Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel 2010:下标超出范围错误_Vba_Excel_Excel 2010_Subscript - Fatal编程技术网

Vba Excel 2010:下标超出范围错误

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

我收到的错误是运行时错误“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 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的书好好读一读了,而不是从网上拼凑起来!非常感谢你的帮助。