Этот VBa делает то, что я думаю, что вы хотите ... Ваш вопрос не самый ясный.
Помните, с VBa, сначала создайте копию файла, так как он не имеет функции отмены
Option Explicit
Sub FindYeTheMapOfTreasure()
Worksheets("Sheet2").Range("A:F").Clear
Worksheets("Sheet2").Range("A:B").Value = Worksheets("Sheet1").Range("A:B").Value
Dim row As Integer
row = 2
Do While Worksheets("Sheet1").Range("C" & row).Value <> ""
If Worksheets("Sheet1").Range("C" & row).Value = "Y" Then
Worksheets("Sheet2").Range("C:C").Value = Worksheets("Sheet1").Range("C:C").Value
End If
If Worksheets("Sheet1").Range("D" & row).Value = "Y" Then
Worksheets("Sheet2").Range("D:D").Value = Worksheets("Sheet1").Range("D:D").Value
End If
If Worksheets("Sheet1").Range("E" & row).Value = "Y" Then
Worksheets("Sheet2").Range("E:E").Value = Worksheets("Sheet1").Range("E:E").Value
End If
If Worksheets("Sheet1").Range("F" & row).Value = "Y" Then
Worksheets("Sheet2").Range("F:F").Value = Worksheets("Sheet1").Range("F:F").Value
End If
If Worksheets("Sheet1").Range("G" & row).Value = "Y" Then
Worksheets("Sheet2").Range("G:G").Value = Worksheets("Sheet1").Range("G:G").Value
End If
row = row + 1
Loop
End Sub
Лист1
После запуска sheet2 выглядит