| 
    
     |  | 素人 さん、こんにちわ。 
 >2つのシートのそれぞれA列の文字を照合して同じ場合は、片方のシート1のI列からデータのある最終列までCOPYしてもうひとつのシート2に貼り付けしたいです
 >同じ文字がない場合は、シート2のA列の最終行にシート1のその値を貼り付けたいです誰かわかる方アドバイスお願いいたします。
 
 ワークシート関数を使ってチェックをかけてます。
 Sub test()
 Dim ws(1 To 2) As Worksheet
 Dim Rmax As Long, Cmax As Long, RR As Long, Rpos As Long
 Set ws(1) = ThisWorkbook.Worksheets("Sheet1")
 Set ws(2) = ThisWorkbook.Worksheets("Sheet2")
 '
 With ws(1)
 With .UsedRange
 Rmax = .Cells(.Count).Row
 Cmax = .Cells(.Count).Column
 End With
 For RR = 1 To Rmax
 '空白以外を処理
 If .Cells(RR, 1).Value <> "" Then
 'ワークシート関数を活用
 If Application.WorksheetFunction. _
 CountIf(ws(2).Columns(1), .Cells(RR, 1).Value) = 0 Then
 'なかったら下にコピペ(5行あけなくていいのかな?)
 With ws(2)
 Rpos = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
 ws(1).Rows(RR).Copy Destination:=.Cells(Rpos, 1) '行単位で貼り付け
 End With
 Else
 Rpos = Application.WorksheetFunction. _
 Match(.Cells(RR, 1).Value, ws(2).Columns(1), 0)
 'コピペする
 .Range(.Cells(RR, 9), .Cells(RR, Cmax)).Copy Destination:=ws(2).Cells(Rpos, 9)
 End If
 End If
 Next
 End With
 '
 Erase ws
 End Sub
 
 こんな感じです。
 書式が行って欲しくない時は、PasteSpecialメソッドを使用して貼りつけるようにします。
 
 
 |  |