以前は、テーブル内の列全体について、インデックス&の一致式を1つのシートから別のシートに実行するExcel VBAコードがあります。コード例以下のように:配列式をVBA経由でExcelに挿入するには?
With Me.Range("table1[Description]")
.Formula = "=IFerror(INDEX(table2,MATCH(B4,table2[Asset No],0),2),"""")"
.Value = .Value
End With
今、私は私が式をコピーしてシート状に配列機能を追加し、他の変更と一緒に配列して、古い数式を交換したいと思います。
Sub refresh()
With Me.Range("table1[Last Service Date]")
.FormulaArray = "=LARGE(IF(table2[[#All],[Asset No]]=[@[Asset No]],table2[[#All],[Entry Date]]),2)"
.Value = .Value
End With
End Sub
しかし、私はコードをテストしようとすると、私はエラーメッセージ私は配列数式のために私のコードに変更する必要がある400 何かを得ておきますか?
もちろん、「選択」を使用しているため、私が指しているセルであれば*です。 – JohnyL
oops ..申し訳ありません、私の古いテストコードを偶然使用しました。私は適切なもので編集します。 – hjh93
あなたは[前の質問] [1](あなたのフォローアップの質問を理解しています)を改言しましたが、これ以上の情報が必要です。エラーメッセージの残りの部分はどのような行ですか? 'Me.Range(" table1 [Last Service Date] ")'は有効な範囲ですか? .Formula = "1 + 1" 'のような"普通の "数式を入れようとするとどうなりますか?また、 '.Value = .Value'の目的は何ですか? – ashleedawg