簡體   English   中英

運行時錯誤'1004':對象'_Global'的方法'Range'失敗

[英]Run-time error '1004' : Method 'Range' of object'_Global' failed

我對excel有問題,它的表單會生成參考號。 但是當我嘗試生成參考號時。 它顯示一條錯誤消息:

運行時錯誤'1004':對象'_Global'的方法'Range'失敗

當我點擊Debug按鈕時,它顯示如下代碼:

它突出顯示了代碼第四行的錯誤

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

誰能幫助我解決這個問題? 我不知道出了什么問題?

當您像這樣引用Range時,它被稱為不合格引用,因為您沒有具體說出該范圍在哪張紙上。 不合格的引用由“ _Global”對象處理,該對象確定要引用的對象,並取決於代碼的位置。

如果您使用的是標准模塊,則不合格的范圍將引用Activesheet。 如果您在工作表的班級模塊中,則不合格的范圍將引用該工作表。

inputTemplateContent是一個變量,包含對范圍(可能是命名范圍)的引用。 如果查看該命名范圍的RefersTo屬性,則在執行代碼時,它可能指向除Activesheet之外的工作表。

解決此問題的最佳方法是通過指定工作表來避免使用不合格的范圍引用。 喜歡

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

調整工作簿和工作表引用以適合您的特定情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM