程序正在检查错误工作表中的下一个可用行

时间:2015-09-25 14:07:23

标签: excel vba copy paste

我编写了一个代码,可以将一堆Excel工作簿中的数据(路径从专用的txt文件中读取)复制到主工作表。我现在遇到的问题是,代码不是在MASTER工作簿的下一个可用行中检查和粘贴,而是检查源工作簿中的下一个可用行并粘贴到主工作簿中的相应行号

这就是我的主题。请看看

Open PathFile For Input As #1

Do Until EOF(1)

    Line Input #1, SourceFile

    Set Source = Workbooks.Open(SourceFile)

    With Source.Sheets("Action Tracker")
        lastRow = .Range("F" & .Rows.Count).End(xlUp).Row

        For i = 10 To lastRow
            If Len(Trim(.Range("F" & i).Value)) <> 0 Then
                If CopyRange Is Nothing Then
                    Set CopyRange = .Rows(i)
                Else
                    Set CopyRange = Union(CopyRange, .Rows(i))
                End If
            End If
        Next

        If Not CopyRange Is Nothing Then
            CopyRange.Copy ThisWorkbook.Sheets("MasterSheet").Rows(Range("F100000").End(xlUp).Offset(1, 0).Row)
        End If

    End With

    Source.Close SaveChanges:=False
    CB.Clear
    Set CopyRange = Nothing

Loop

1 个答案:

答案 0 :(得分:0)

错误在以下行内:

CopyRange.Copy ThisWorkbook.Sheets("MasterSheet").Rows(Range("F100000").End(xlUp).Offset(1, 0).Row)

范围,单独使用(不是something.Range),是ActiveSheet.Range的快捷方式

你可以试试这个:

With ThisWorkbook.Sheets("MasterSheet")
    CopyRange.Copy .Rows(.Range("F100000").End(xlUp).Offset(1, 0).Row)
End With