Private Sub ComboBox1_Change()
Select Case ComboBox1.Value
Case "All"
If Range("F12:BA665").EntireColumn.Hidden = False Then
Range("F12:BA665").EntireColumn.Hidden = True
Else: Range("F12:BA665").EntireColumn.Hidden = False
End If
Case "AdPro"
If Range("v12:BA665").EntireColumn.Hidden = True Then
Range("v12:BA665").EntireColumn.Hidden = False
Else: Range("v12:BA665").EntireColumn.Hidden = True
End If
Case "Sample"
If Range("F12:U665,AL12:BA665").EntireColumn.Hidden = True Then
Range("F12:U665,AL12:BA665").EntireColumn.Hidden = False
Else: Range("F12:U665,AL12:BA665").EntireColumn.Hidden = True
End If
Case "AdPro & Sample"
If Range("F12:AK665").EntireColumn.Hidden = True Then
Range("F12:AK665").EntireColumn.Hidden = False
Else: Range("F12:AK665").EntireColumn.Hidden = True
End If
End Select
End Sub
Private Sub ComboBox2_Change()
Select Case ComboBox2.Value
Case "All"
If ComboBox1 = "All" Then
If ComboBox2 = "All" Then
If Range("F12:BA665").EntireColumn.Hidden = False Then
Range("F12:BA665").EntireColumn.Hidden = True
Else: Range("F12:BA665").EntireColumn.Hidden = False
End If
End If
End If
Case "Actual"
If ComboBox1 = "AdPro" Then
If ComboBox2 = "Actual" Then
If Range("L12:BA665").EntireColumn.Hidden = False Then
Range("L12:BA665").EntireColumn.Hidden = True
Else: Range("L12:BA665").EntireColumn.Hidden = False
End If
End If
End If
Case "Achivement"
If ComboBox1 = "AdPro" Then
If ComboBox2 = "Achivement" Then
If Range("F12:K665,Q12:BA665").EntireColumn.Hidden = False Then
Range("F12:K665,Q12:BA665").EntireColumn.Hidden = True
Else: Range("F12:K665,Q12:BA665").EntireColumn.Hidden = False
End If
End If
End If
Case "Growth"
If ComboBox1 = "AdPro" Then
If ComboBox2 = "Growth" Then
If Range("F12:P665,U12:BA665").EntireColumn.Hidden = False Then
Range("F12:P665,U12:BA665").EntireColumn.Hidden = True
Else: Range("F12:P665,U12:BA665").EntireColumn.Hidden = False
End If
End If
End If
End Select
End Sub
Private Sub CommandButton11_Click()
Dim lItem As Long
Dim UserRange As Range
Dim MySelection() As String
Dim NCrit As Long
Dim HideRange As Range
Dim HideRows As Range
Dim TheCell As Range
Dim i As Long, msg As String, Check As String
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
msg = msg & .List(i) & vbNewLine
End If
Next i
End With
If msg = vbNullString Then
MsgBox "Nothing was selected! Please make a selection!"
Exit Sub
Else
Check = MsgBox("You selected:" & vbNewLine & msg & vbNewLine & _
"Are you happy with your selections?", _
vbYesNo + vbInformation, "Please confirm")
End If
"Are you happy with your selections?", _
vbYesNo + vbInformation, "Please confirm")
If Check = vbYes Then
Set HideRange = Sheets("Sheet1").Range("B12:C665")
For Each TheCell In HideRange
Set HideRows = Rows(TheCell.Row)
If TheCell = ListBox2.List(ListBox2.ListIndex) Then
HideRows.EntireRow.Hidden = False
Else
HideRows.EntireRow.Hidden = True
End If
Next TheCell
Set HideRange1 = Sheets("Sheet1").Range("C12:D665")
For Each TheCell1 In HideRange1
Set HideRows1 = Rows(TheCell1.Row)
If TheCell1 = ListBox3.List(ListBox3.ListIndex) Then
HideRows1.EntireRow.Hidden = False
Else
HideRows1.EntireRow.Hidden = True
End If
Next TheCell1
End If
End Sub
Private Sub CommandButton12_Click()
Unload Me
End Sub
Private Sub CommandButton13_Click()
If Range("F12:BA12").EntireRow.Hidden = False Then
Range("F12:BA665").EntireRow.Hidden = True
Else: Range("F12:BA665").EntireRow.Hidden = False
End If
End Sub
Private Sub ListBox1_Change()
Dim UniqueList2() As String
Dim UniqueList3() As String
Dim UniqueList4() As String
Dim x1 As Long
Dim x2 As Long
Dim x3 As Long
Dim x4 As Long
Dim Rng2 As Range
Dim Rng3 As Range
Dim Rng4 As Range
Dim c2 As Range
Dim c3 As Range
Dim c4 As Range
Dim y2 As Long
Dim y3 As Long
Dim y4 As Long
Dim iLstInx As Long
Dim i1LstInx As Long
Dim i2LstInx As Long
Set Rng2 = Sheets("Sheet1").Range("B12:B665")
Set Rng3 = Sheets("Sheet1").Range("B12:B665")
Set Rng4 = Sheets("Sheet1").Range("B12:B665")
y2 = 1
y3 = 1
y4 = 1
Me.ListBox2.Clear
Me.ListBox3.Clear
Me.ListBox4.Clear
ReDim UniqueList2(1 To Rng2.Rows.Count)
ReDim UniqueList3(1 To Rng3.Rows.Count)
ReDim UniqueList4(1 To Rng4.Rows.Count)
For iLstInx = 0 To ListBox1.ListCount - 1
y2 = 0
For Each c2 In Rng2
Me.MousePointer = fmMousePointerHourGlass
If ListBox1.Selected(iLstInx) = True Then
If c2.Columns(1) = ListBox1.List(iLstInx) Then
If Not c2.Value = vbNullString Then
Unique2 = True
On Error Resume Next
For x2 = 1 To y2
If UniqueList2(x2) = c2.Columns(2) Then
Unique2 = False
End If
Next
If Unique2 Then
y2 = y2 + 1
Me.ListBox2.AddItem (c2.Columns(2))
UniqueList2(y2) = c2.Columns(2)
End If
End If
Else
y2 = y2 + 1
End If
End If
Me.MousePointer = fmMousePointerDefault
Next
Next
For i1LstInx = 0 To ListBox1.ListCount - 1
y3 = 0
For Each c3 In Rng3
Me.MousePointer = fmMousePointerHourGlass
If ListBox1.Selected(i1LstInx) = True Then
If c3.Columns(1) = ListBox1.List(i1LstInx) Then
If Not c3.Value = vbNullString Then
Unique3 = True
On Error Resume Next
For x3 = 1 To y3
If UniqueList3(x3) = c3.Columns(3) Then
Unique3 = False
End If
Next
If Unique3 Then
y3 = y3 + 1
Me.ListBox3.AddItem (c3.Columns(3))
UniqueList3(y3) = c3.Columns(3)
End If
End If
Else
y3 = y3 + 1
End If
End If
Me.MousePointer = fmMousePointerDefault
Next
Next
For i2LstInx = 0 To ListBox1.ListCount - 1
y4 = 0
For Each c4 In Rng4
Me.MousePointer = fmMousePointerHourGlass
If ListBox1.Selected(i2LstInx) = True Then
If c4.Columns(1) = ListBox1.List(i2LstInx) Then
If Not c4.Value = vbNullString Then
Unique4 = True
On Error Resume Next
For x4 = 1 To y4
If UniqueList4(x4) = c4.Columns(4) Then
Unique4 = False
End If
Next
If Unique4 Then
y4 = y4 + 1
Me.ListBox4.AddItem (c4.Columns(4))
UniqueList4(y4) = c4.Columns(4)
End If
End If
Else
y4 = y4 + 1
End If
End If
Me.MousePointer = fmMousePointerDefault
Next
Next
End Sub
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "All"
.AddItem "AdPro"
.AddItem "Sample"
.AddItem "AdPro & Sample"
End With
With ComboBox2
.AddItem "All"
.AddItem "Actual"
.AddItem "Achivement"
.AddItem "Growth"
.AddItem "Actual + Achivement"
.AddItem "Actual + Growth"
.AddItem "Achivement + Growth"
End With
Dim UniqueList1() As String
Dim x1 As Long
Dim Rng1 As Range
Dim c1 As Range
Dim Unique1 As Boolean
Dim y1 As Long
Set Rng1 = Sheets("Sheet1").Range("B12:B665")
y1 = 1
ReDim UniqueList1(1 To Rng1.Rows.Count)
For Each c1 In Rng1
If Not c1.Value = vbNullString Then
Unique1 = True
For x1 = 1 To y1
If UniqueList1(x1) = c1.Text Then
Unique1 = False
End If
Next
If Unique1 Then
y1 = y1 + 1
Me.ListBox1.AddItem (c1.Text)
UniqueList1(y1) = c1.Text
End If
End If
Next
End Sub
|