vba - VBA 我可以使用整数设置名称吗?
问题描述
我想做一个循环,它将按几个类别过滤。我的想法是使用数字进行设置,这样循环起来会更容易。我的想法
For i = 1 to 5
myTable.AutoFilter Field:=10, Criteria1:=i
....
....
Next i
但我必须先声明我的类别,所以我想做类似的事情
1 = "MEN"
2 = "WOMEN"
3 = "KIDS BOY"
4 = "KIDS GIRL"
5 = "UNISEX"
但似乎我不能这样做。那么有没有人对如何循环过滤器或知道如何用整数声明有任何其他想法。谢谢
解决方案
我会做一些类似的事情:
Option Explicit
Sub Filters()
Dim MyFilter As Variant: MyFilter = setArrayFilters
Dim i As Long
For i = LBound(MyFilter) To UBound(MyFilter)
myTable.AutoFilter Field:=10, Criteria1:=MyFilter(i)
Next i
End Sub
Private Function setArrayFilters() As Variant
Dim x As Long: x = 5 'change this to redimension your array
Dim arr(1 To x)
arr(1) = "MEN"
arr(2) = "WOMEN"
arr(3) = "KIDS BOY"
arr(4) = "KIDS GIRL"
arr(5) = "UNISEX"
setArrayFilters = arr
End Function
推荐阅读
- python - Python to_datetime(来自 int/float 的 3 列)
- android - 使用 Flutter 录音
- unity3d - 统一铸造 3d
- python - 是否可以使用 Python 定义没有值的枚举?
- flutter - Flutter:将小部件移动到另一个位置
- ios - 当 imageview 在里面时,Swift CollectionView 会改变大小
- c - C语言中结构的动态内存分配
- javascript - 如何在Angular上动态显示选定行数据的总和?
- windows-10 - 在 Windows 10 上绑定一些全局热键失败
- android - 通过 retrofit2 和 rxjava 调用 api