It might be best to try unhiding/hiding them before you hide the columns. It seems you can get it to work providing that you have them set up in precisely the right location, it should be more forgiving the other way:
Sub tres()
'
' tres Macro
' 3
'
' Keyboard Shortcut: Ctrl+t
'
Dim chkbx
Columns("A:H").Hidden = False
For Each chkbx In ActiveSheet.CheckBoxes
chkbx.Visible = False
Next chkbx
Call hide_unhide_checkboxes(4)
Call hide_unhide_checkboxes(5)
Call hide_unhide_checkboxes(7)
Call hide_unhide_checkboxes(8)
Range("D1:E1,G1:H1").EntireColumn.Hidden = True
End Sub
Sub cuatro()
'
' cuatro Macro
' 4
'
' Keyboard Shortcut: Ctrl+c
'
Dim chkbx
Columns("A:H").Hidden = False
For Each chkbx In ActiveSheet.CheckBoxes
chkbx.Visible = False
Next chkbx
Call hide_unhide_checkboxes(4)
Call hide_unhide_checkboxes(5)
Call hide_unhide_checkboxes(6)
Call hide_unhide_checkboxes(8)
Range("D1,F1:H1").EntireColumn.Hidden = True
End Sub
Sub pat()
'
' pat Macro
' 5
'
' Keyboard Shortcut: Ctrl+p
'
Dim chkbx
Columns("A:H").Hidden = False
For Each chkbx In ActiveSheet.CheckBoxes
chkbx.Visible = False
Next chkbx
Call hide_unhide_checkboxes(4)
Call hide_unhide_checkboxes(5)
Call hide_unhide_checkboxes(6)
Call hide_unhide_checkboxes(7)
Range("D1:G1").EntireColumn.Hidden = True
End Sub
Sub uno()
'
' uno Macro
' uno
'
' Keyboard Shortcut: Ctrl+u
'
Dim chkbx
Columns("A:H").Hidden = False
For Each chkbx In ActiveSheet.CheckBoxes
chkbx.Visible = False
Next chkbx
Call hide_unhide_checkboxes(5)
Call hide_unhide_checkboxes(6)
Call hide_unhide_checkboxes(7)
Call hide_unhide_checkboxes(8)
Range("E1:H1").EntireColumn.Hidden = True
End Sub
Sub dos()
'
' dos Macro
' 2
'
' Keyboard Shortcut: Ctrl+d
'
Dim chkbx
Columns("A:H").Hidden = False
For Each chkbx In ActiveSheet.CheckBoxes
chkbx.Visible = False
Next chkbx
Call hide_unhide_checkboxes(4)
Call hide_unhide_checkboxes(6)
Call hide_unhide_checkboxes(7)
Call hide_unhide_checkboxes(8)
Range("D1,F1:H1").EntireColumn.Hidden = True
End Sub
Sub hide_unhide_checkboxes(col_num As Integer)
Dim chkbx
For Each chkbx In ActiveSheet.CheckBoxes
If chkbx.TopLeftCell.Column = col_num Then chkbx.Visible = False Else chkbx.Visible = True
Next
End Sub
Bookmarks