我正在尝试将多张工作表中同一列(A)中的数据复制并粘贴到最终工作表中数据的一列中。
如果标头行下方有多行数据,那么到目前为止,我使用的代码可以完美地工作。
工作表的格式被设置为在数据下方包括一个表,并且如果工作表上仅存在一行数据,则现有代码会将具有数据的数据从单元格A2复制到表中的第一个单元格(基本上执行ctrl + shift) +向下)。
我需要一个if语句来计算一个数据范围(可能是A2:A3),如果计数大于1,它将把所有数据复制到该列的第一空行。然后将其粘贴到另一张纸的A列的第一行。否则,复制单元格A2,然后将其粘贴到另一张纸的A列中的第一行。
array
答案 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