Столкнулся с проблемой , когда нужно выбрать значение и скрыть столбцы на листах.
Лист Индия. Когда выбираем FOB Nhava Sheva , должны остаться столбцы Sea LCL, Sea 20*std, Sea 40*std . Остальные убраться. Когда FCA Mumbai, остаться только AIR, остальные убраться. Когда EXW Pune , остаться столбец EXPRESS , остальные убраться.
Добрый день!
Столкнулся с проблемой , когда нужно выбрать значение и скрыть столбцы на листах.
Лист Индия. Когда выбираем FOB Nhava Sheva , должны остаться столбцы Sea LCL, Sea 20*std, Sea 40*std . Остальные убраться. Когда FCA Mumbai, остаться только AIR, остальные убраться. Когда EXW Pune , остаться столбец EXPRESS , остальные убраться.Oh_Nick
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Application.Intersect(Range("B26"), Target) Is Nothing Then Application.EnableEvents = 0: Application.ScreenUpdating = False If Target = "FOB Nhava Sheva,India" Then Columns("D30:E37;J30:J37").EntireRow.Hidden = False Else Columns("D30:E37;J30:J37").EntireRow.Hidden = True End If If Target = "FCA Mumbai,India" Then Columns("F30:J37").EntireRow.Hidden = False If Target = "EXW Pune,India" Then Columns("D30:I37").EntireRow.Hidden = False Application.EnableEvents = -1: Application.ScreenUpdating = False End If End Sub
[/vba]
Но не выходит. Помогите, пожалуйста, разобраться :unsure:
Попробовал этот код:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Application.Intersect(Range("B26"), Target) Is Nothing Then Application.EnableEvents = 0: Application.ScreenUpdating = False If Target = "FOB Nhava Sheva,India" Then Columns("D30:E37;J30:J37").EntireRow.Hidden = False Else Columns("D30:E37;J30:J37").EntireRow.Hidden = True End If If Target = "FCA Mumbai,India" Then Columns("F30:J37").EntireRow.Hidden = False If Target = "EXW Pune,India" Then Columns("D30:I37").EntireRow.Hidden = False Application.EnableEvents = -1: Application.ScreenUpdating = False End If End Sub
[/vba]
Но не выходит. Помогите, пожалуйста, разобраться :unsure:Oh_Nick
Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Application.EnableEvents = False
Columns("B:J").EntireColumn.Hidden = False
Select Case Range("B26").Value Case "FOB Nhava Sheva,India" Range("D30:E37;J30:J37").Hidden = True Case "FCA Mumbai, India" Range("F30:J37").Hidden = True Case "EXW Pune,India" Range("D30:I37").Hidden = True End Select
Application.EnableEvents = True Application.ScreenUpdating = True End Sub
[/vba]
Ребята,
Эта тоже не получается:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Application.EnableEvents = False
Columns("B:J").EntireColumn.Hidden = False
Select Case Range("B26").Value Case "FOB Nhava Sheva,India" Range("D30:E37;J30:J37").Hidden = True Case "FCA Mumbai, India" Range("F30:J37").Hidden = True Case "EXW Pune,India" Range("D30:I37").Hidden = True End Select
Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("B26"), Target) Is Nothing Then Application.ScreenUpdating = False Application.EnableEvents = False
Columns("B:J").EntireColumn.Hidden = False
Select Case Range("B26").Value Case "FOB Nhava Sheva,India" Range("D:E,J:J").EntireColumn.Hidden = True Case "FCA Mumbai, India" Columns("F:J").Hidden = True Case "EXW Pune,India" Columns("D:I").Hidden = True End Select
Application.EnableEvents = True Application.ScreenUpdating = True End If End Sub
[/vba]
Так можно [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Range("B26"), Target) Is Nothing Then Application.ScreenUpdating = False Application.EnableEvents = False
Columns("B:J").EntireColumn.Hidden = False
Select Case Range("B26").Value Case "FOB Nhava Sheva,India" Range("D:E,J:J").EntireColumn.Hidden = True Case "FCA Mumbai, India" Columns("F:J").Hidden = True Case "EXW Pune,India" Columns("D:I").Hidden = True End Select
Application.EnableEvents = True Application.ScreenUpdating = True End If End Sub