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