0
条件を満たす場合に式をセルに適用しようとしています。マクロは最初にシートを検索してすべてを検索し、イニシャルがDからGの列に表示される場合はすべての行を保持します。マクロではイニシャルRPRを探しています(他のイニシャルはNOになります)。 DでRPRが見つかるがEではない場合、計算はK * 0.3でなければならない。そうでない場合は、私は第二のシナリオなどを探して進んでいく必要があります。私はテーブルのイメージを添付しました。私が下に投稿したものが正しく表示されるかどうかわかりません。 table of dataExcel VBA複数の場合、1つのセルの結果が計算されます
D E K N
RPR NO 2000 result (K*0.3)
NO RPR 1000 result (K*0.3)
RPR (blank) 1000 result (K*0.5)
RPR RPR 2000 result (K*0.5)
NO no 2000 result 0
No (Blank) 2000 result 0
私は多くの異なるフォーマットでプレイしており、動作することはできません。これは私がいる場所です。私はこれを1日以上行っており、実際にはいくつかの援助を利用することができます。私は他の基準を満たしていなければ、セルが空になることがあるので、ゼロのために何かを持つ必要はないと思う。
Dim lrow As Long
lrow = Cells(Cells.Rows.Count, "D").End(xlUp).Row
Range("N2:N" & lrow).Formula = "=IF(D2 = ""RPR"") AndIF (F2 = ""RPR"" Or"""")
then N2 = (K2 * 0.5,0)"
Range("N2:N" & lrow).Formula = "IF D2 = ""RPR"" AndIF E2 <> ""RPR"" Then N2 =
(K2 * 0.3)"
Range("N2:N" & lrow).Formula = "IF D2 <> ""RPR"" AndIF E2 = ""RPR"" Then N2 =
(K2*0.3)"
Range("N2:N" & lrow).Value = Range("N2:N" & lrow).Value
ありがとうございますが、これは問題のIF要素を考慮しています。 "D = RPRでE = RPRでない"と "D = RPRでなくE = RPRである"の場合は、時間が0.3倍になるようにする必要があります。 – Jen
もう1つのelseifを追加してコードを更新しました。 –
私はコンパイルエラーを受け取りますが、Ifを指定しない場合、最初のElseif文で2番目の単語 "range"が強調表示されます。私は文のまわりに()を追加しようとしましたが、それは助けになりませんでした。 – Jen