簡體   English   中英

VBA / Excel應用程序定義或對象定義的錯誤

[英]VBA/Excel Application-defined or object-defined error

我的excel vba宏中出現了應用程序定義的錯誤或對象定義的錯誤,我不確定為什么。 我猜它與我如何調用單元格引用有關。 我已經看過其他一些與此類似的問題。 它們非常相似,但是我在我的錯誤所在的地方不見了。

這是代碼:

Set AllianceSheet = Worksheets(2)

Dim YearBeginRange As Range
Dim YearEndRange As Range
Dim Year As Integer
Dim BeginRow As Long
Dim EndRow As Long
Dim CountryRange As Range
'Dim WS As Worksheet
'Dim WSName As String

Year = 1965
'WSName = "Ally-" & Year



Set YearBeginRange = AllianceSheet.Range("C1", AllianceSheet.Range("C1").End(xlDown)).Find(What:=Year, After:=AllianceSheet.Range("C1"), LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    If YearBeginRange Is Nothing Then
        MsgBox Year & "Begin year not found"
    Else
        'MsgBox Year & "Begin year found!"
        'Debug.Print YearBeginRange.Row
        'Debug.Print TypeName(YearBeginRange.Row)
        BeginRow = YearBeginRange.Row
    End If

Set YearEndRange = AllianceSheet.Range("C1", AllianceSheet.Range("C1").End(xlDown)).Find(What:=Year + 1, After:=AllianceSheet.Range("C1"), LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    If YearBeginRange Is Nothing Then
        MsgBox Year & "End year not found"
    Else
        EndRow = YearEndRange.Row
    End If


Set CountryRange = AllianceSheet.Range(AllianceSheet.Cells(1, BeginRow), AllianceSheet.Cells(1, EndRow))



'Debug.Print BeginRow
'Debug.Print EndRow
'Debug.Print WSName

End Sub

錯誤發生在:

Set CountryRange = AllianceSheet.Range(AllianceSheet.Cells(1, BeginRow), AllianceSheet.Cells(1, EndRow))

我知道我缺少一些非常基本的東西,所以在此先感謝。 僅供參考,在這種情況下,BeginRow = 65930,EndRow = 81430。

您將.Cells的參數顛倒了-它應該是row, column ,而不是column, row

Set CountryRange = AllianceSheet.Range(AllianceSheet.Cells(BeginRow, 1), _
                                       AllianceSheet.Cells(EndRow, 1))

暫無
暫無

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

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