Excel 有关运行时错误9的信息
我试图将值的范围从excel中的一个工作表复制到另一个工作表。我从我工作表的另一部分复制了这个公式,但是我发现运行时错误9Excel 有关运行时错误9的信息,excel,vba,excel-formula,Excel,Vba,Excel Formula,我试图将值的范围从excel中的一个工作表复制到另一个工作表。我从我工作表的另一部分复制了这个公式,但是我发现运行时错误9 Sub SaveJambStudEC() ' ' SaveCalcsJambEC Macro ' Dim page As Integer page = Cells(4, "T").Value Range("A70:AN70").Select Selection.Copy Range("A71").Select ActiveCell
Sub SaveJambStudEC()
'
' SaveCalcsJambEC Macro
'
Dim page As Integer
page = Cells(4, "T").Value
Range("A70:AN70").Select
Selection.Copy
Range("A71").Select
ActiveCell.Offset(page, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1:O63").Select
Selection.Copy
Sheets("10.3 JambCalcs EC").Select
Range("A1").Select
ActiveCell.Offset((page - 1) * 63, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats
Sheets("9.3 Jamb Design EC").Select
Range("T5").Select
Selection.Copy
Range("N9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("T31").Value = 0
Call JambECsetDesignOptions
Call CopyJambOptiValues
Range("J9").Activate
End Sub
使用下面的代码,您将检查是否有具有该名称的工作表。如果您没有收到任何消息框,则表示没有具有此名称的工作表
Option Explicit
Sub test()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name = "10.3 JambCalcs EC" Then
MsgBox "Sheet Appears"
Exit Sub
End If
Next ws
End Sub
注
“ThisWorkbook”指代码中包含的工作簿。如果要清楚地声明工作簿,可以声明一个变量“Dim wb as workbook”,然后设置工作簿“set wb=workbooks workbook name”1告诉我们发生了哪些行错误,2读取此错误:sheet10.3 JambCalcs EC。选择此错误表示活动工作簿不包含名为10.3 JambCalcs EC的工作表。如果它确实包含具有该名称的工作表,请检查拼写错误和多余的空格。警告:OP的代码看起来像是作为录制的宏生成的,因此将写入标准的过程模块,这意味着无论工作簿当前处于活动状态,单元格、范围和ActiveCell调用都将关闭,例如,ActiveWorkbook-可能是也可能不是此工作簿。@Mathieu Guindon感谢您的澄清。我在回答中做了一个注释,试图解释如何设置工作簿变量。