I have a spreadsheet where I want to hide a range of cells based on the value of another cell (C6) using this code which works fine:

Private Sub Worksheet_Calculate()
Range("AH:AO").EntireColumn.Hidden = IIf(Range("C6").Value < 3, True, False)
Range("AP:AW").EntireColumn.Hidden = IIf(Range("C6").Value < 4, True, False)
Range("AX:BE").EntireColumn.Hidden = IIf(Range("C6").Value < 5, True, False)
End Sub

The problem is if, for example, I enter 3 in C6 (hiding cells AP:BE) I want to then hide specific columns that are still visible based on the value of other cells. Separately they work fine but when I try to use them in conjunction there's some conflict and the sheet display some cells that are supposed to be hidden:

If sure this is an easy fix but here's everything I have there right now:

Private Sub Worksheet_Calculate()
Range("AH:AO").EntireColumn.Hidden = IIf(Range("C6").Value < 3, True, False)
Range("AP:AW").EntireColumn.Hidden = IIf(Range("C6").Value < 4, True, False)
Range("AX:BE").EntireColumn.Hidden = IIf(Range("C6").Value < 5, True, False)
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Columns("M").EntireColumn.Hidden = Range("F20").Value = "No"
Columns("U").EntireColumn.Hidden = Range("F20").Value = "No"
Columns("AC").EntireColumn.Hidden = Range("F20").Value = "No"
Columns("AK").EntireColumn.Hidden = Range("F20").Value = "No"
Columns("AS").EntireColumn.Hidden = Range("F20").Value = "No"
Columns("BA").EntireColumn.Hidden = Range("F20").Value = "No"
Columns("O").EntireColumn.Hidden = Range("F21").Value = "No"
Columns("W").EntireColumn.Hidden = Range("F21").Value = "No"
Columns("AE").EntireColumn.Hidden = Range("F21").Value = "No"
Columns("AM").EntireColumn.Hidden = Range("F21").Value = "No"
Columns("AU").EntireColumn.Hidden = Range("F21").Value = "No"
Columns("BC").EntireColumn.Hidden = Range("F21").Value = "No"
Columns("P:Q").EntireColumn.Hidden = Range("F22").Value = "No"
Columns("X:Y").EntireColumn.Hidden = Range("F22").Value = "No"
Columns("AF:AG").EntireColumn.Hidden = Range("F22").Value = "No"
Columns("AN:AO").EntireColumn.Hidden = Range("F22").Value = "No"
Columns("AV:AW").EntireColumn.Hidden = Range("F22").Value = "No"
Columns("BD:BE").EntireColumn.Hidden = Range("F22").Value = "No"
End Sub

thanks for any help