VBA If / Else语句基于列数复制和粘贴数据

时间:2018-10-03 14:57:16

标签: excel vba excel-vba

我正在尝试将多张工作表中同一列(A)中的数据复制并粘贴到最终工作表中数据的一列中。

如果标头行下方有多行数据,那么到目前为止,我使用的代码可以完美地工作。

工作表的格式被设置为在数据下方包括一个表,并且如果工作表上仅存在一行数据,则现有代码会将具有数据的数据从单元格A2复制到表中的第一个单元格(基本上执行ctrl + shift) +向下)。

我需要一个if语句来计算一个数据范围(可能是A2:A3),如果计数大于1,它将把所有数据复制到该列的第一空行。然后将其粘贴到另一张纸的A列的第一行。否则,复制单元格A2,然后将其粘贴到另一张纸的A列中的第一行。

array

1 个答案:

答案 0 :(得分:1)

这将起作用。您真的只需要检查A3是否有数据。

With Worksheets("Sheet1")

    Dim source as Range
    If Len(.Range("A3")) then 
       Set source = .Range(.Range("A2"),.Range("A2").End(xlDown))
    Else
       Set source = .Range("A2")
    End If

End With

Dim dest as Range
Set dest = Worksheets("QA").Range("A" & Rows.Count).End(xlUp).Offset(1)

dest.Resize(source.Rows.Count,1).Value = source.Value