将数据从一个电子表格复制/粘贴到另一个电子表格

时间:2012-12-23 05:04:29

标签: excel vba

好的,我现在已经研究了大约4个小时了。我有另一个类似的帖子解决了一个问题只是为了创造另一个。此代码从2个电子表格中获取相同的数据列。第一个复制/粘贴工作得很好(并填充行A2:A191),但之后的第一个循环粘贴从电子表格A1332开始的数据?来自A192:A1331的所有细胞都是空白的。代码应该从底部向上查找第一个可用的空单元格。我错过了什么?

这是有问题的代码。我已经验证它解锁了第二个循环电子表格范围单元格,但之后它贴错了?格式化似乎不是问题?是否有某些东西可能出现在我看不到的细胞中?

 Set wbkCS = Workbooks.Open(strCutSheetFile(i))
        On Error GoTo 0
        Set wbkVer = Workbooks.Open(strVerifyFile)
        Set copyRng = Worksheets("Cutsheets").Range("A2")
    If copyRng = "" Then
            wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Locked = False
            wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Copy Destination:=wbkVer.Worksheets("Cutsheets").Range("A2")
    Else
            wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Locked = False
            wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Copy Destination:=wbkVer.Worksheets("Cutsheets").Range("A" & Range("A65536").End(xlUp).Row + 1)
     End If

1 个答案:

答案 0 :(得分:2)

尝试在第二个副本声明中限定最后一个范围引用,即:

而不是

    .Range("A" & Range("A65536").End(xlUp).Row + 1)

尝试

    .Range("A" & wbkVer.Worksheets("Cutsheets").Range("A65536").End(xlUp).Row + 1)