
以下流れのとおり
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(エクセル)
-
ExcelのIF関数との組み合わせの相談
Excel(エクセル)
-
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
-
4
Excelでプルダウン選択(I1セル)した文字列に該当したC列のセル行のみを切り替えて表示したいです
Excel(エクセル)
-
5
Excelでの文字入力について
Excel(エクセル)
-
6
Excelで作成した出欠表から日付ごとの欠席者を書き出す方法について教えてください。
Excel(エクセル)
-
7
Excelについて教えてください。
Excel(エクセル)
-
8
エクセルについてどう関数を使えばいいか教えてください。
Excel(エクセル)
-
9
エクセルで教えてください。 例えばSUM関数でA1+B1の値をC1に出すとします。 C1数式で=SU
Excel(エクセル)
-
10
Excel関数の解決方法
Excel(エクセル)
-
11
Excelのデーターバーについて
Excel(エクセル)
-
12
Excelの条件付書式について教えてください。
Excel(エクセル)
-
13
エクセルオートサムでセル選択できません
Excel(エクセル)
-
14
【マクロ】条件付き書式設定をマクロ化するには?
Excel(エクセル)
-
15
【マクロ、画像あり】A表かB表かどちらか判断をして、処理をする
Excel(エクセル)
-
16
エクセルについて教えてください
Excel(エクセル)
-
17
「cells」が上手く機能しない
Excel(エクセル)
-
18
納期順に勝手に並べ替えられるようにしたいのですが…
Excel(エクセル)
-
19
関数を教えて下さい
Excel(エクセル)
-
20
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
Excelの新しい空白のブックを開...
-
【マクロ】A列にある、日付(本...
-
【マクロ】宣言は、何のために...
-
スプレッドシートで複数のプル...
-
【マクロ】アクティブセルの2...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【エクセル】期限アラートについて
-
excelで日付関数の文字列変換の...
-
【マクロ】別のブックから、フ...
-
派遣会社とかハローワークとか...
-
【関数】不規則な文章から●●-●●...
-
iPhoneのExcelアプリで、別のシ...
-
9月17日でサービス終了らし...
-
マクロOn Error GoTo ErrLabel...
-
findメソッドで、10:00:01 を検...
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報