繁体   English   中英

下标超出范围(错误9)

[英]Subscript out of range (Error 9)

SourceBook = ActiveWorkbook.Name

SourceSheet = Workbooks(SourceBook).Worksheets(2).Name

If Workbooks(SourceBook).Sheets(SourceSheet).Range("B10") = "SM" Then
    Workbooks(SourceBook).Worksheets(SourceSheet).Range("D11:D3000,K11:K3000,N11:AC3000,CX11:CX3000,DD11:DD3000").Select
    Selection.Copy

当我在上面键入代码时,我得到结果。 但是后来,当我键入代码时,

ElseIf Workbooks(SourceWorkbook).Sheets(SourceSheet).Range("B1") = "Status" Then
    MsgBox ("okay....")

它显示"Subscript out of range (Error 9)".

有人可以帮忙吗?

你有错字 应该是SourceBook而不是SourceWorkbook

同样,这是一种非常复杂的处理方式。 试试这个吧。

Sub Sample()
    Dim wb As Workbook
    Dim ws As Worksheet

    Set wb = ActiveWorkbook '<~~ OR ThisWorkbook?
    Set ws = wb.Sheets(2)     

    If ws.Range("B10").Value = "SM" Then
        ws.Range("D11:D3000,K11:K3000,N11:AC3000,CX11:CX3000,DD11:DD3000").Copy
    ElseIf ws.Range("B1").Value = "Status" Then
        MsgBox ("okay....")
    End If
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM