What you want may well be able to be done with formulas and someone may come
back with a formula solution but is not try entering this in the Worksheet
module of sheet 1 (with sheet 1 the active sheet, right-click on the sheet
tab and select View code):
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
Dim LastRow As Long
Sheets("Sheet2").Columns("A:D").ClearContents
Application.ScreenUpdating = False
With Sheets("Sheet1")
'Replace "Sheet1" & "Sheet2" witj your sheet names
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
.Columns("B:C").EntireColumn.Hidden = True