VBA If/Else语句,用于根据列计数复制和粘贴数据

VBA If/Else语句,用于根据列计数复制和粘贴数据,vba,excel,Vba,Excel,我正在尝试将多个工作表中同一列(A)的数据复制并粘贴到最终工作表中某一数据的单个列中 如果标题行下有多行数据,我迄今为止使用的代码就可以完美地工作 工作表的格式是在数据下包含一个表,如果工作表上只有一行数据,则现有代码会将数据从单元格A2复制到表中包含数据的第一个单元格(基本上执行ctrl+shift+down) 我需要一个if语句来计算一个数据范围(可以是A2:A3),如果计数大于1,它会将列中的所有数据复制到第一个空行。然后将其粘贴到另一张图纸A列的第一个空行。否则,复制单元格A2,然后将其

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

如果标题行下有多行数据,我迄今为止使用的代码就可以完美地工作

工作表的格式是在数据下包含一个表,如果工作表上只有一行数据,则现有代码会将数据从单元格A2复制到表中包含数据的第一个单元格(基本上执行ctrl+shift+down)

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

Sheets("Sheet1").Select
If Range("A2:A3").Count > 1 Then
    Range("A2",Range("A2").End(xlDown)).Copy Destination:=Sheets("QA").Range("A" & Rows.Count).End(xlUp).Offset(1)  
ElseIf Range("A2:A3").Count = 1 Then
    Range("A2").Copy  Destination:=Sheets("QA").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If

这会奏效的。您只需检查
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

欢迎使用StackOverflow-正如您所知,您的代码(不是代码的图片)需要在问题中,否则您将找不到许多愿意提供帮助的人。谢谢Sam。更新。这是实际的Excel表吗?