Private Sub ToggleVisible_Click()
Columns(4).Resize(, 37).Hidden = Not Columns(4).Resize(, 37).Hidden
UpDate_List
End Sub
Private Sub ListboxHidden_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Application.ScreenUpdating = False
On Error GoTo M
Cancel = True
Dim c As Long
Dim i As Long
Cells(7, 4).Resize(, 37).Select
Selection.Find(What:=ListBoxHidden.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
c = ActiveCell.Column
Columns(c).Hidden = False
For i = 0 To ListBoxHidden.ListCount - 1
If ListBoxHidden.Selected(i) Then
ListBoxHidden.RemoveItem (i)
End If
Next i
ListBoxHidden.ListIndex = -1
Call UpDate_List
Range("B1").Select
Application.ScreenUpdating = True
Exit Sub
M:
MsgBox "No value selected"
End Sub
Private Sub ListboxVisible_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Application.ScreenUpdating = False
On Error GoTo M
Cancel = True
Dim c As Long
Dim i As Long
Cells(7, 4).Resize(, 37).Select
Selection.Find(What:=ListBoxVisible.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
c = ActiveCell.Column
Columns(c).Hidden = True
For i = 0 To ListBoxVisible.ListCount - 1
If ListBoxVisible.Selected(i) Then
ListBoxVisible.RemoveItem (i)
End If
Next i
ListBoxVisible.ListIndex = -1
Call UpDate_List
Range("B1").Select
Application.ScreenUpdating = True
Exit Sub
M:
MsgBox "No value selected"
End Sub
Private Sub UserForm_Initialize()
For i = 4 To 40
If Columns(i).Hidden = True Then ListBoxHidden.AddItem Cells(7, i).Value
If Columns(i).Hidden = False Then ListBoxVisible.AddItem Cells(7, i).Value
Next
ListBoxHidden.ControlTipText = "Double Click on me to show this Clients column"
ListBoxVisible.ControlTipText = "Double Click on me to Hide this Clients column"
End Sub
Sub UpDate_List()
ListBoxHidden.Clear
ListBoxVisible.Clear
For i = 4 To 40
If Columns(i).Hidden = True Then ListBoxHidden.AddItem Cells(7, i).Value
If Columns(i).Hidden = False Then ListBoxVisible.AddItem Cells(7, i).Value
Next
End Sub