インデックスの配列の数式をセルに挿入しようとしています。私の問題は、私は数式内の変数を使用する必要があり、その結果、アポストロフィで囲まれた数式内のセル参照になります。vbaで数式を挿入するときにアポストロフィを避ける
Cells(loop, "H").value = "=INDEX('Tab Asistencias'!R1C1:R20000C4,MATCH(1,('Tab Asistencias'!R1C2:R20000C2=R2C2)*('Tab Asistencias'!R1C1:R20000C1=E" & loop & "),0),4)"
そして、式はすでにセルH1に挿入されたときには、次のようになります:これは、これまで私が持っているコードです
:私は例とのより良い自分自身を説明します
= 'B' Asistencias '!$ A $ 1:$($' '); $ INDEX(' Tab Asistencias '!$ A $ 1:$ D $ 20000; COINCIDIR(1;(' Tab Asistencias '!$ B $ 1:$ B $ 20000 = $ B $ 2) $ 20000 = 'E2'); 0); 4)
E2セルリファレンスの2つのアポストロフィは、ほとんどの場合、式の最後にあります。そのため、ExcelはE2を有効なセル参照として認識しません。
私はスペイン語版のExcelでこれをやっています(そうする必要があります)。
ご協力いただきありがとうございます。
最も簡単な方法VBAで物事を把握するためには、マクロの記録を使用して生成されたコードをチェックすることです。 '.Value = 'の代わりに' .FormulaArray = 'を使う必要があります。 – Slai
あなたの答えをありがとう。すでにそれを試して、評価を使用していますが、どちらもうまくいきませんでした。私は値としてのみ数式を挿入し、次にF2キーを押し、次にCtrl + Shift + EnterキーをシミュレートするSendKeyメソッドを使用します。 – mFranck