
以下流れのとおり
1番マクロを実行
2番セル範囲に@がついてしまう
3番@が入らないように、関数を入力したいです
ご存じの方、ご指南お願いします
1
【コード※エラーにならずに、該当範囲のセルに関数が入力されます】
ws2.Range(Cells(6, 13), Cells(lastrow, 13)).Formula = "=INDEX(過去分依頼データ!$A$2:$K$10000,MATCH(C6&E6,過去分依頼データ!$B$2:$B$10000&過去分依頼データ!$C$2:$C$10000,0),1)"
2
セルM6から最終行まで以下が入力される
=INDEX(過去分依頼データ!$A$2:$K$10000,MATCH(C6&E6,@過去分依頼データ!$B$2:$B$10000&@過去分依頼データ!$C$2:$C$10000,0),1)
※セル範囲に@がついてしまう
@過去分依頼データ!$B$2:$B$10000&@過去分依頼データ!$C$2:$C$10000
3 正しくは@が無い状態で、セルに入力したい。すると関数は動きます
=INDEX(過去分依頼データ!$A$2:$K$10000,MATCH(C6&E6,過去分依頼データ!$B$2:$B$10000&過去分依頼データ!$C$2:$C$10000,0),1)
No.2ベストアンサー
- 回答日時:
ご質問者の環境はバージョン365ということなので、気づいていないかもしれませんが、
=INDEX(過去分依頼データ!$A$2:$K$10000,MATCH(C6&E6,過去分依頼データ!$B$2:$B$10000&過去分依頼データ!$C$2:$C$10000,0),1)・・・①
という数式はスピル機能のないバージョンでは正しく機能しません。
スピル機能のないバージョンの場合
=INDEX(過去分依頼データ!$A$2:$K$10000,INDEX(MATCH(C6&E6,過去分依頼データ!$B$2:$B$10000&過去分依頼データ!$C$2:$C$10000,0),0),1)・・・②
のように記述するか、CTRL+SHIF+ENTERで確定して「配列数式」にするしかありません。
{=INDEX(過去分依頼データ!$A$2:$K$10000,MATCH(C6&E6,過去分依頼データ!$B$2:$B$10000&過去分依頼データ!$C$2:$C$10000,0),1)}
※配列数式にすると見かけ上、上記のように数式全体が波括弧で囲まれます。
VBAのFORMULAプロパティは動的配列をサポートしませんので、365の環境でFORMULAプロパティを使うと、「敢えてスピル機能を使用しない」と判断されてしまいます。
このため、おそらくVBAで数式を設定したセルには「#VALUE!」エラーが表示され、数式もご質問者のご説明のように、一部に@がついたものになってしまうと思います。
試しに、
ws2.Range(Cells(6, 13), Cells(lastrow, 13)).Formula = "=INDEX(過去分依頼データ!$A$2:$K$10000,INDEX(MATCH(C6&E6,過去分依頼データ!$B$2:$B$10000&過去分依頼データ!$C$2:$C$10000,0),0),1)"
というコードに変更して結果を見てください。
おそらく、数式頭部に「@」は付くものの「#VALUE!」エラーにはならず、数式の結果が表示されると思います。
スピル機能の有効なバージョンにおいて「@」はFORMULAからFORMULA2に変更すべき箇所を教えてくれる注意ポイント表示ということのようです。
従って、動的配列に対応させるにはFORMULA2プロパティを使うことになります。詳しくは以下のURLをご覧ください。
https://learn.microsoft.com/ja-jp/office/vba/exc …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelのIF関数との組み合わせの相談
Excel(エクセル)
-
エクセルについてどう関数を使えばいいか教えてください。
Excel(エクセル)
-
自動的に日付入力 応用
Excel(エクセル)
-
-
4
Excelについて教えてください。
Excel(エクセル)
-
5
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
6
エクセルで教えてください。 例えばSUM関数でA1+B1の値をC1に出すとします。 C1数式で=SU
Excel(エクセル)
-
7
Excelでプルダウン選択(I1セル)した文字列に該当したC列のセル行のみを切り替えて表示したいです
Excel(エクセル)
-
8
Excelの条件付書式について教えてください。
Excel(エクセル)
-
9
Excelでの文字入力について
Excel(エクセル)
-
10
Excelで作成した出欠表から日付ごとの欠席者を書き出す方法について教えてください。
Excel(エクセル)
-
11
【マクロ、画像あり】A表かB表かどちらか判断をして、処理をする
Excel(エクセル)
-
12
【マクロ】条件付き書式設定をマクロ化するには?
Excel(エクセル)
-
13
Excel関数の解決方法
Excel(エクセル)
-
14
Excelのデーターバーについて
Excel(エクセル)
-
15
エクセルオートサムでセル選択できません
Excel(エクセル)
-
16
エクセルについて教えてください
Excel(エクセル)
-
17
名前の間のスペースをそろえる関数はありますか?佐藤 太郎 佐藤 太郎
Excel(エクセル)
-
18
【マクロ】列を折りたたみ非表示したセルの内、可視セルをコピーするとがエラーとなる
Excel(エクセル)
-
19
至急お願いします!エクセルのフィルターについて
Excel(エクセル)
-
20
【関数】同じ関数なのに、エラーが出るエクセルと出ないエクセルある?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
if関数の複数条件について
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
同じ名前(重複)かつ 日本 ア...
-
【マクロ】数式を入力したい。...
-
excel
-
Office2021のエクセルで米国株...
-
エクセルのVBAで集計をしたい
-
エクセルシートの見出しの文字...
-
エクセルの複雑なシフト表から...
-
グループごとの個数をカウント...
-
エクセルについてどう関数を使...
-
表計算ソフトでの様式の呼称
-
エクセルでフィルターした値を...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】excelファイルを開く...
-
【関数】=EXACT(a1,b1) a1とb1...
-
【マクロ】【画像あり】4つの...
-
オートフィルターの絞込みをし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報