ばくがの業務効率化チャンネル

このブログは個人的なエクセルの備忘録です

シート2から文字列が一致した場合にはコピー

Sub 列ごとコピー()

    Dim ws1 As Worksheet 'ワークシートの変数宣言1
    Dim ws2 As Worksheet 'ワークシートの変数宣言2
    
    Dim val As String
    Dim col As Long
    
    Set ws1 = Sheets("Sheet1")
    Set ws2 = Sheets("Sheet2")
    
    val = ws1.Range("G10").Value '値を取得
    
    col = Application.Match(val, ws2.Range("A1:E1"), 0) '値に一致する列番号を取得
    
    If Not IsError(col) Then '列番号が見つかった場合
        
        ws2.Range(ws2.Cells(2, col), ws2.Cells(7, col)).Copy '列をコピー
        ws1.Range("C15").PasteSpecial xlPasteValues '値張付け 
    
    End If

End Sub