Mel*_*arn 11 excel vba excel-vba
我有一个excel的问题,一个生成引用号的表单.但是,当我尝试生成引用号.它有一条错误消息说:
运行时错误'1004':对象'_Global'的方法'范围'失败
当我单击Debug按钮时,它显示如下代码:
它突出显示代码第4行的错误
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
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?我不知道出了什么问题?
Dic*_*ika 30
当您引用Range时,它被称为非限定引用,因为您没有具体说明该范围所在的工作表.非限定引用由"_Global"对象处理,该对象确定您引用的对象,这取决于代码的位置.
如果您在标准模块中,则不合格的Range将引用Activesheet.如果您在工作表的类模块中,非限定范围将引用该工作表.
inputTemplateContent是一个变量,它包含对范围的引用,可能是命名范围.如果查看该命名区域的RefersTo属性,它可能会在代码执行时指向Activesheet以外的工作表.
解决此问题的最佳方法是通过指定工作表来避免不合格的Range引用.喜欢
With ThisWorkbook.Worksheets("Template")
.Range(inputTemplateHeader).Value = NO_ENTRY
.Range(inputTemplateContent).Value = NO_ENTRY
End With
Run Code Online (Sandbox Code Playgroud)
调整工作簿和工作表引用以适合您的特定情况.
归档时间: |
|
查看次数: |
136619 次 |
最近记录: |