【问题标题】:Run-time error '1004' : Method 'Range' of object'_Global' failed运行时错误“1004”:对象“_Global”的方法“范围”失败
【发布时间】:2016-11-30 08:37:21
【问题描述】:

我在使用生成参考编号的表单时遇到了问题。但是当我尝试生成参考号时。它有一条错误消息说:

运行时错误“1004”:对象“_Global”的方法“范围”失败

当我点击调试按钮时,它显示如下代码:

它突出显示代码第 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

谁能帮我解决这个问题?不知道哪里出了问题?

【问题讨论】:

  • 出现错误时inputTemplateContentNO_ENTRY 的值是多少?它可以与Set Range(inputTemplateContent) = NO_ENTRY 一起使用吗?
  • 以防万一有人遇到同样的问题:如果您使用 Range 指定书本和工作表并以此错误结束,则检查书名没有空格(可能很明显,但如果您有遗留宏,而您从未在 Excel 中使用过 VBA,这可能会很棘手)。

标签: excel vba


【解决方案1】:

当您像这样引用 Range 时,它​​被称为非限定引用,因为您没有具体说明该范围在哪个工作表上。不合格的引用由“_Global”对象处理,该对象确定您引用的是哪个对象,这取决于您的代码在哪里。

如果您在标准模块中,则不合格的 Range 将引用 Activesheet。如果您在工作表的类模块中,则不合格的 Range 将引用该工作表。

inputTemplateContent 是一个变量,其中包含对一个范围的引用,可能是一个命名范围。如果您查看该命名范围的 RefersTo 属性,它可能在代码执行时指向 Activesheet 以外的工作表。

解决此问题的最佳方法是通过指定工作表来避免不合格的 Range 引用。喜欢

With ThisWorkbook.Worksheets("Template")
    .Range(inputTemplateHeader).Value = NO_ENTRY
    .Range(inputTemplateContent).Value = NO_ENTRY
End With

调整工作簿和工作表引用以适应您的特定情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多