Excel 运行时错误';1004';:方法';范围';对象的'_全球';失败
我在excel中遇到问题,表格生成了一个参考编号。但是当我尝试生成参考编号时,它会显示一条错误消息: 运行时错误“1004”:对象“U全局”的方法“范围”失败 当我单击Debug按钮时,它显示如下代码: 它突出显示了代码第4行的错误Excel 运行时错误';1004';:方法';范围';对象的'_全球';失败,excel,vba,Excel,Vba,我在excel中遇到问题,表格生成了一个参考编号。但是当我尝试生成参考编号时,它会显示一条错误消息: 运行时错误“1004”:对象“U全局”的方法“范围”失败 当我单击Debug按钮时,它显示如下代码: 它突出显示了代码第4行的错误 Sub clearTemplate() ' Clear Template Content Range(inputTemplateHeader) = NO_ENTRY Range(inputTemplateContent) = NO_ENTRY
Sub clearTemplate()
' Clear Template Content
Range(inputTemplateHeader) = NO_ENTRY
Range(inputTemplateContent) = NO_ENTRY - (highlighted error)
End Sub
Sub clearRefNo()
' Clear cell G2 reference number
Range(cellRefNo) = NO_ENTRY
' Open "Report_ref_no.xls"
If Not (IsFileOpen) Then Workbooks.Open filename:=ThisWorkbook.Path & "\" & FACCESS
' Activate "Report_ref_no.xls"
Windows(FACCESS).Activate
' Access column D
Range(cellFirstRefNo).Select
Selection.End(xlDown).Select
If refNo = Cells(ActiveCell.Row, ActiveCell.Column - 1).Value Then
' Log Development Code column
Cells(ActiveCell.Row, ActiveCell.Column) = NO_ENTRY
' Log Issuer column
Cells(ActiveCell.Row, ActiveCell.Column + 1).Value = NO_ENTRY
' Log Date column
Cells(ActiveCell.Row, ActiveCell.Column + 2).Value = NO_ENTRY
End If
' Save & Close workbook
ActiveWindow.Close True
End Sub
有人能帮我解决这个问题吗?我不知道出了什么问题?当您这样引用范围时,它被称为非限定引用,因为您没有明确说明范围在哪一页上。非限定引用由“_Global”对象处理,该对象确定引用的对象,这取决于代码所在的位置 如果您在标准模块中,则不合格范围将引用Activesheet。如果您在工作表的类模块中,则“不合格范围”将引用该工作表 inputTemplateContent是一个变量,包含对某个范围(可能是命名范围)的引用。如果查看该命名范围的referesto属性,它很可能在代码执行时指向除Activesheet之外的工作表 解决此问题的最佳方法是通过指定图纸来避免不合格的范围引用。像
With ThisWorkbook.Worksheets("Template")
.Range(inputTemplateHeader).Value = NO_ENTRY
.Range(inputTemplateContent).Value = NO_ENTRY
End With
调整工作簿和工作表参考以适合您的特定情况。当您收到错误时,
inputTemplateContent
和NO\u ENTRY
的值是多少?它是否适用于设置范围(inputTemplateContent)=NO_ENTRY
?以防任何人有相同的问题:如果使用范围指定书本和工作表并以此错误结束,则check book的名称没有空格(可能很明显,但如果您有遗留宏且从未使用VBA for Excel,这可能会很棘手)。