Hi,
I have "array" set which representing branches name. For the time being, there are 4 branches and it expected to be grown in future. Using "array" set code in VBA would not help user if there are new branches to be added.
Thus, my idea to convert "array" set data to excel sheet and allow user to add new data using Userform command button. I am familiar with that approach but my problem is how to convert array set elements to excel sheet and the VBA code can also be reflected with new data added by user
VBA code will perform the following function,
Opening Workbook
Filtering Criteria
Deleting Worksheet
as described below.
e.g.
Array set elements to be stored in Worksheets("Data") starting from A2.
A2 Battambang
A3 Chbar Ampov
A4 Chroy Changvar
A5 Kampong Cham
A6 .......
A7 .......
A?? ........ new data to be added by user
Sub Test()
strPath = ThisWorkbook.Path & "\"
ASC = Array("Battambang.xlsx", _
"Chbar Ampov.xlsx", _
"Chroy Changvar.xlsx", _
"Kampong Cham.xlsx")
For i = LBound(ASC) To UBound(ASC)
Workbooks.Open Filename:=strPath & ASC(i)
ActiveWindow.WindowState = xlMinimized
Next i
If ws.Name = "Battambang" Then
With rng
.AutoFilter
.AutoFilter Field:=4, Criteria1:="Battambang"
.AutoFilter Field:=28, Criteria1:=">0"
End With
ElseIf ws.Name = "Chbar Ampov" Then
With rng
.AutoFilter
.AutoFilter Field:=4, Criteria1:="Chbar Ampov"
.AutoFilter Field:=28, Criteria1:=">0"
End With
ElseIf ws.Name = "Chroy Changvar" Then
With rng
.AutoFilter
.AutoFilter Field:=4, Criteria1:="Chroy Changvar"
.AutoFilter Field:=28, Criteria1:=">0"
End With
ElseIf ws.Name = "Kampong Cham" Then
With rng
.AutoFilter
.AutoFilter Field:=4, Criteria1:="Kampong Cham"
.AutoFilter Field:=28, Criteria1:=">0"
End With
Application.DisplayAlerts = False
Worksheets(Array("Battambang", "Chbar Ampov", "Chroy Changvar", "Kampong Cham")).Delete
Application.DisplayAlerts = True
End Sub
Bookmarks