私はセルで動作する数式を持っていますが、本当に長い入れ子のifです。基本的に、複数の異なる値のセルをチェックしようとしています。(Excel VBAの公式)ネストされたIFハイライトされた赤
A2 =これは私の説明です。 B2には、A2の説明で複数の単語を検索する入れ子のifが含まれています。各if文を実行するときに、見つかった単語が表示されます。
この式を複数のセルに設定するには、VBAを使用する必要がありますが、なぜ式が間違っているのかわかりません。 (Excelは赤をハイライト表示します)これを書くには良い方法はありますか?
(私はライン上の場合は2つの入れ子をやって、そしてダウン次の行に分離するために、「& _」を使用してきた。)
Sub Search_For_Keywords()
Do Until ActiveCell.Value = ""
Range(B2).Activate
With ActiveCell
.Formula = "=IF(ISNUMBER(SEARCH(""Keyword1 "",A2,1)),""1"",IF(ISNUMBER(SEARCH(""Keyword2 "",A2,1)),""2"", & _
...そこに48個のキーワードがあり、よりよいです...将来的に追加する必要が
IF(ISNUMBER(SEARCH(""Keyword_n"",A2,1)),""n"",""No Keywords Found"")))))))))))))))))))))))))))))))))))))))))))))))"
End With
Loop
End Sub
UPDATE:
別の解決策(回避策?)
を使用しています=IFERROR(INDEX(E2:E6,MATCH(D2:D6,A2:A6,0)),"Not Found")
=INDEX (column to return a value from, MATCH (lookup value/column, column to lookup against, 0))
私はD2:D6にキーワードを、E2:E6にそれぞれのキーワードのエイリアスを、そしてA2:A6に実際の説明を入れてみました。
このコードはVBAに入れるのに十分短いので、この情報を含む列を持つ必要があります。
もう一度お手伝いをしてください。その他のVBA固有のソリューションについては、下記をご覧ください。
これを(もっと少ないキーワードで)[mcve]にしてください。文の断片を与えるだけで、デバッグが難しくなります。 –
改行で '_'の後に二重引用符を使用していますか? –
私はそう思っています...上に何か他のものを投稿させてください、もしそれを微調整する方法が見つけられればもっと簡単かもしれません。 – mitchmitch24