我正在尝试在 Excel VBA 中创建一个用户定义的函数来检查一行中的每个单元格并输出一个答案。这是一个例子:
A B C D
Name Age Income Gender
Adam 28 50-60K M
John 32 40-50K M
Maria 65 20-30K F
Ben 22 50-60K M
Jen 45 60-70K F
在上面的数组中,我希望能够将每一行传递给函数。该函数应该根据一些“如果”条件为每个人输出一个组名。我怎样才能做到这一点?
此外,科恩。C和科恩。D 是 TEXT 字段,而 Coln B 不是。分组条件示例有:
“如果年龄<30 且收入=“50-60K”或“40-50K”,则该函数应输出到 E 列,显示“GroupA”
ElseIf age>30 and gender="F" then function 应该将其输出为“group B” Elseif
我知道这可以使用标准 Excel 嵌套 Ifs 来完成,但我有太多条件,Excel 说当我在公式栏中编写它们时条件太多。
我在下面有我的代码,但我不确定我做错了什么。
Function Trial(Range)
Dim r As Long
r = ActiveCell.Row
For Each Cell In Range
If Cells(r, 2).Value < 30 And Cells(r, 3).Value = "50-60k" Or Cells(r, 3).Value = "40-50k" Then
Trial= "Group A"
ElseIf Cells(r, 2).Value > 30 And Cells(r, 4).Value ="F" Then
Trial= "Group B"
End If
Next Cell
End Function