我有一组简单的类,我想在所有类中搜索特定的值。
将它放在一个例子中,它看起来像这样:
Collection: Employees
Class: Employee
Employee.Name
Employee.Address
Employee.Salary
数据位于电子表格中,因此我为每位员工创建了一个类,然后将该类存储到集合中。
所以在某些时候我需要找到薪水最高的员工,所以我需要在所有班级中搜索该值。
有人能说出这是如何在 VBA 中完成的吗?
谢谢!
答案 0 :(得分:2)
集合可以通过For
语句或For Each
语句遍历。
尝试(假设Employees集合从0开始):
Dim CtrA as Long, MaxSalary as Currency
MaxSalary = 0
For CtrA = 0 to Employees.Count-1
If Employees(CtrA).Salary > MaxSalary Then
MaxSalary = Employees(CtrA).Salary
End If
Next
或者:
Dim Emp as Employee, MaxSalary as Currency
MaxSalary = 0
For Each Emp in Employees
If Emp.Salary > MaxSalary Then
MaxSalary = Emp.Salary
End If
Next
For Each
构造可能更可取,因为它使用早期绑定,而For
构造可能使用后期绑定,这意味着如果你的类成员错误,早期绑定你会发现编译,而使用后期绑定,只能在运行时找到。