Option
Explicit
Public
WithEvents
Filter
As
MSForms.Combobox
Public
WithEvents
Operator
As
MSForms.Combobox
Public
WithEvents
Options
As
MSForms.Combobox
Public
Index
As
Integer
Public
Sub
Add()
Me
.Index = frmFilter.FilterCol.Count
frmFilter.Height = frmFilter.Height + 50
frmFilter.AddFilter.Move Top:=frmFilter.AddFilter.Top + 50
frmFilter.Logo.Top = frmFilter.Logo.Top + 50
frmFilter.RemoveFilter.Top = frmFilter.RemoveFilter.Top + 50
frmFilter.Backbtn.Top = frmFilter.Backbtn.Top + 50
frmFilter.GO_btn.Top = frmFilter.GO_btn.Top + 50
Set
Me
.Filter = frmFilter.Controls.Add(
"Forms.ComboBox.1"
,
"Filter"
& (Index),
True
)
With
Me
.Filter.Font
.name =
"Arial"
.Size = 16
.Bold =
True
End
With
Me
.Filter.Top = frmFilter.DefaultFilter.Top + 50 * (Index)
Me
.Filter.Left = frmFilter.DefaultFilter.Left
Me
.Filter.Width = frmFilter.DefaultFilter.Width
Me
.Filter.Height = frmFilter.DefaultFilter.Height
Set
Me
.Operator = frmFilter.Controls.Add(
"Forms.ComboBox.1"
,
"Operator"
& Index,
True
)
With
Me
.Operator.Font
.name =
"Arial"
.Size = 16
.Bold =
True
End
With
Me
.Operator.Top = frmFilter.DefaultOperator.Top + 50 * (Index)
Me
.Operator.Left = frmFilter.DefaultOperator.Left
Me
.Operator.Width = frmFilter.DefaultOperator.Width
Me
.Operator.Height = frmFilter.DefaultOperator.Height
Set
Me
.Options = frmFilter.Controls.Add(
"Forms.ComboBox.1"
,
"Options"
& Index,
True
)
With
Me
.Options.Font
.name =
"Arial"
.Size = 16
.Bold =
True
End
With
Me
.Options.Top = frmFilter.DefaultOptions.Top + 50 * (Index)
Me
.Options.Left = frmFilter.DefaultOptions.Left
Me
.Options.Width = frmFilter.DefaultOptions.Width
Me
.Options.Height = frmFilter.DefaultOptions.Height
Call
fillOperator
Call
fillOptions
Index = Index + 1
frmFilter.RemoveFilter.Enabled =
True
End
Sub
Public
Sub
Remove()
Index = Index - 1
frmFilter.Controls.Remove (
"Filter"
& Index)
frmFilter.Controls.Remove (
"Options"
& Index)
frmFilter.Controls.Remove (
"Operator"
& Index)
frmFilter.FilterCol.Remove (frmFilter.FilterCol.Count)
frmFilter.Height = frmFilter.Height - 50
frmFilter.Logo.Top = frmFilter.Logo.Top - 50
frmFilter.Backbtn.Top = frmFilter.Backbtn.Top - 50
frmFilter.GO_btn.Top = frmFilter.GO_btn.Top - 50
frmFilter.RemoveFilter.Top = frmFilter.RemoveFilter.Top - 50
frmFilter.AddFilter.Top = frmFilter.AddFilter.Top - 50
If
Index = 1
Then
frmFilter.RemoveFilter.Enabled =
False
End
If
End
Sub
Public
Sub
fillFilter()
Debug.Print
"Here Filter: "
&
Me
.Filter.name &
" will be filled."
End
Sub
Private
Sub
fillOperator()
Debug.Print
"Here Operator: "
&
Me
.Operator.name &
" will be filled."
End
Sub
Private
Sub
fillOptions()
Debug.Print
"Here Options: "
&
Me
.Options.name &
" will be filled."
End
Sub