VBAで配列は難しい。1次元配列は、一気に縦に貼り付けるときにtranspose関数を使って1次元から2次元にする必要がある。
Dim 元データ配列() As Variant
Dim 条件合致抽出データ配列() As Variant
Dim inc as integer
Dim i as integer
元データ配列 = Worksheets("Sheet").Range(Cells(2, 2), Cells(100, 3)).Value
inc = 0
For i = 1 to UBound(元データ配列)
if ( 元データ配列(i, 1) = "条件" ) then
ReDim Preserve 条件合致抽出データ配列(inc)
条件合致抽出データ配列(inc) = 元データ配列(i, 1)
inc = inc + 1
end if
Next i
Worksheets("Sheet2").Range(Cells(2, 2), Cells(UBound(条件合致抽出データ配列) + 2, 2)).Value = _
WorksheetFunction.Transpose(条件合致抽出データ配列)
End Sub