行内の各セルをチェックして回答を出力するために、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
上記の配列では、各行を関数に渡すことができるようにしたいと考えています。関数は、いくつかの「if」条件に基づいて、これらの各ユーザーのグループ名を出力する必要があります。これどうやってするの?
あとコルン。CとColn. D は TEXT フィールドですが、Coln B はそうではありません。グループ化条件の例は次のとおりです。
「年齢が 30 歳未満で収入が「50-60K」または「40-50K」の場合、関数は列 E に「グループ A」と出力する必要があります。
ElseIf 年齢 > 30 および性別 = "F" の場合、関数はそれを「グループ B」として出力する必要があります Elseif
これは標準の Excel の入れ子になった If で実行できることはわかっていますが、条件が多すぎて、数式バーに条件を書き込むと、条件が多すぎると 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