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()
Dim
Filter
As
MSForms.Combobox, Options
As
MSForms.Combobox, Operator
As
MSForms.Combobox
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
Filter = frmFilter.Controls.Add(
"Forms.ComboBox.1"
,
"Filter"
& (Index),
True
)
With
Filter.Font
.name =
"Arial"
.Size = 16
.Bold =
True
End
With
Filter.Top = frmFilter.DefaultFilter.Top + 50 * (Index)
Filter.Left = frmFilter.DefaultFilter.Left
Filter.Width = frmFilter.DefaultFilter.Width
Filter.Height = frmFilter.DefaultFilter.Height
Set
Operator = frmFilter.Controls.Add(
"Forms.ComboBox.1"
,
"Operator"
& Index,
True
)
With
Operator.Font
.name =
"Arial"
.Size = 16
.Bold =
True
End
With
Operator.Top = frmFilter.DefaultOperator.Top + 50 * (Index)
Operator.Left = frmFilter.DefaultOperator.Left
Operator.Width = frmFilter.DefaultOperator.Width
Operator.Height = frmFilter.DefaultOperator.Height
Set
Options = frmFilter.Controls.Add(
"Forms.ComboBox.1"
,
"Options"
& Index,
True
)
With
Options.Font
.name =
"Arial"
.Size = 16
.Bold =
True
End
With
Options.Top = frmFilter.DefaultOptions.Top + 50 * (Index)
Options.Left = frmFilter.DefaultOptions.Left
Options.Width = frmFilter.DefaultOptions.Width
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.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: "
& Filter.name &
" will be filled."
End
Sub
Private
Sub
fillOperator()
Debug.Print
"Here Operator: "
& Operator.name &
" will be filled."
End
Sub
Private
Sub
fillOptions()
Debug.Print
"Here Options: "
& Options.name &
" will be filled."
End
Sub