ブックにあるすべてのタブを特定の値で検索し、別のブックに日付を返すExcel上の関数があります。今私は、私が開発したVBAマクロとその機能を組み合わせようとしています。私が使用している関数は多くのタブを使って検索しているので、多くの行に分けなければなりませんでした。複数の行に分割された長い関数は、VBAマクロと組み合わせることができません。
私はiserror()とvlookup()を使ってワークブックのタブを使って電子メールを見つけるかどうかを調べるために関数を少し説明します。それが見つかると日付を返します。そうでない場合は、最初のものと同じ特性を持つ別のものを実行します。 2番目のタブでメールが見つかった場合は同じですが、日付を書き込んだら、別のタブをすべて検索するまで別のタブを実行します。
私は、コマンドを実行するために "_"下の行に続けて "_"を文字列の中に入れてはいけません。
私は3つの異なるコードを開発しました。
第一試みる
> ActiveCell.FormulaR1C1 = _
> "=IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week1 [EmailAddress],1,FALSE))),""6/11/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week2 [EmailAddress],1,FALSE))),""13/11/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week3 [EmailAddress],1,FALSE))),""20/11/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week4 [EmailAddress],1,FALSE))),""27/11/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week5 [EmailAddress],1,FALSE))),""4/12/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week6 [EmailAddress],1,FALSE))),""11/12/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week7 [EmailAddress],1,FALSE))),""18/12/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week8 [EmailAddress],1,FALSE))),""25/12/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week9[EmailAddress],1,FALSE))),""1/1/2018"" ," & _
> "IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week9[EmailAddress],1,FALSE))),""1/1/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week10[EmailAddress],1,FALSE))),""8/1/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week11 [EmailAddress],1,FALSE))),""15/1/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week12 [EmailAddress],1,FALSE))),""22/1/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week13 [EmailAddress],1,FALSE))),""29/1/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week14 [EmailAddress],1,FALSE))),""5/2/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week15 [EmailAddress],1,FALSE))),""12/2/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week16 [EmailAddress],1,FALSE))),""19/2/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week17 [EmailAddress],1,FALSE))),""26/2/2018"" ," & _
> "IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week18[EmailAddress],1,FALSE))),""5/3/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week19 [EmailAddress],1,FALSE))),""12/3/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week20 [EmailAddress],1,FALSE))),""19/3/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week21 [EmailAddress],1,FALSE))),""26/3/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week22 [EmailAddress],1,FALSE))),""2/4/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week23 [EmailAddress],1,FALSE))),""9/4/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week24 [EmailAddress],1,FALSE))),""16/4/2018"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week025 [EmailAddress],1,FALSE))),""23/4/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week26 [EmailAddress],1,FALSE))),""30/4/2018"", ""Something is Wrong""))))))))))))))))))))))))))"
実行私は1004
第二ランタイムエラーが上記のよう
ActiveCell.FormulaR1C1 = _
"=IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week1 [Email Address],1,FALSE))),""6/11/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week2 [Email Address],1,FALSE))),""13/11/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week3 [Email Address],1,FALSE))),""20/11/2017"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week4 [Email Address],1,FALSE))),""27/11/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week5 [Email Address],1,FALSE))),""4/12/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week6 [Email Address],1,FALSE))),""11/12/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week7 [Email Address],1,FALSE))),""18/12/2017"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week8 [Email Address],1,FALSE))),""25/12/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week9 [Email Address],1,FALSE))),""1/1/2018"" , & _
IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week9 [Email Address],1,FALSE))),""1/1/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week10[Email Address],1,FALSE))),""8/1/2018"" , IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week11[Email Address],1,FALSE))),""15/1/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week12 [Email Address],1,FALSE))),""22/1/2018"" , IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week13[Email Address],1,FALSE))),""29/1/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week14[Email Address],1,FALSE))),""5/2/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week15[Email Address],1,FALSE))),""12/2/2018"" , IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week16[Email Address],1,FALSE))),""19/2/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week17 [Email Address],1,FALSE))),""26/2/2018"" , & _
IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week18[Email Address],1,FALSE))),""5/3/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week19[Email Address],1,FALSE))),""12/3/2018"" , IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week20[Email Address],1,FALSE))),""19/3/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week21 [Email Address],1,FALSE))),""26/3/2018"" , IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week22[Email Address],1,FALSE))),""2/4/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week23[Email Address],1,FALSE))),""9/4/2018"" , IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week24[Email Address],1,FALSE))),""16/4/2018"" ,IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week025[Email Address],1,FALSE))),""23/4/2018"" , IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week26[Email Address],1,FALSE))),""30/4/2018"", ""Something is Wrong"")))))))))))))))))))))))))))"
そのようなコードを試してみたが終了し、開始時に括弧なしで持っていますその結果は予期しない文の終わりです。第三
ActiveCell.FormulaR1C1 = _
"=IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week1[Email Address],1,FALSE))),""06/11/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week2[Email Address],1,FALSE))),""13/11/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week3[Email Address],1,FALSE))),""20/11/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week4[Email Address],1,FALSE)))," & _
"""27/11/2017"",IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week5[Email Address],1,FALSE))),""04/12/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week6[Email Address],1,FALSE))),""11/12/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week7[Email Address],1,FALSE))),""18/12/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week8[Email Address],1,FALSE)))," & _
"""25/12/2017"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week9[Email Address],1,FALSE))),""01/01/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week9[Email Address],1,FALSE))),""08/01/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week10[Email Address],1,FALSE))),""15/01/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week11[Email Address],1,FALSE)))," & _
"""22/01/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week12[Email Address],1,FALSE))),""29/01/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week13[Email Address],1,FALSE))),""05/02/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week14[Email Address],1,FALSE))),""12/02/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week15[Email Address],1,FALSE)))," & _
"""19/02/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week16[Email Address],1,FALSE))),""16/02/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week17[Email Address],1,FALSE))),""05/03/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week18[Email Address],1,FALSE))),""12/03/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week19[Email Address],1,FALSE)))," & _
"""19/03/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week20[Email Address],1,FALSE))),""26/03/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week21[Email Address],1,FALSE))),""02/04/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week22[Email Address],1,FALSE))),""09/04/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week23[Email Address],1,FALSE))), & _
"""16/04/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week24[Email Address],1,FALSE))),""23/04/2018"", IF(NOT(ISERROR(VLOOKUP(RC[-2],DataExtract.xlsx!Week025[Email Address],1,FALSE))),""30/04/2018"","" ""))))))))))))))))))))))))))"
このコードは、3の最良と思わ
を試したが、エラーメッセージは、「コンパイラのエラー:構文エラー」である私は、私が試してみましたので、機能が正しく動作することを知っている
それは単一の細胞上にある。 3回目の試みでは、自動的にマクロとして記録しようとしました。
私は何が間違っているのか、間違っていますか?
あり他の問題かもしれませんが、あなたは、構造化の前にスペースを入れずに試してみましたリファレンス? – pnuts
@pnuts 2回目の試行で試したところ、まだコンパイルエラーが表示されています。期待値:ステートメントの終わりと2行目の開始点がハイライトされます – Aldaron47
"2回目の試行"で閉じ括弧に足りない可能性があります。 – pnuts