INDEX MATCHを使用して別のブックからデータを自動入力できるマクロを作成しようとしています。私は別の数式のための正確なコードを使用して、それが動作しますが、私は単に以下のコードで式を置き換えると、それは私に "アプリケーション定義またはオブジェクト定義のエラー"を与えるアプリケーション定義またはオブジェクト定義エラーを持つIFERROR INDEX/MATCH式
以下は私のコードです。問題の数式は.formula
の後に始まります。残りのコードは空のセルを自動入力するために存在し、既に別のマクロで動作しています。
Sub FillOrderType()
Dim LR As Long
LR = ActiveSheet.UsedRange.Find("*", SearchDirection:=xlPrevious,
SearchOrder:=xlByRows).Row
With Range("H2:H" & LR)
With .SpecialCells(xlCellTypeBlanks)
.Formula = "=IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]EXP'!N:N, MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]EXP'!L:L,0)), IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]AOG'!N:N,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]AOG'!L:L,0)),IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]SCHED'!M:M,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]SCHED'!K:K,0)),"")))"
End With
.Value = .Value
End With
End Sub
問題を特定するための助けがあれば幸いです。そして私は長い公式について謝罪します、私は_
を使ってそれを包み込もうとしましたが、それはうまくいきませんでした。
EDIT:
私は
=IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]EXP'!N:N, MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]EXP'!L:L,0)), IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]AOG'!N:N,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]AOG'!L:L,0)),IFERROR(INDEX('C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]SCHED'!M:M,MATCH(G:G,'C:\Users\wwxuan\Desktop\KPI OUTBOUND 23.08.16\[KPI Outbound - (Aug) Rev5.xlsx]SCHED'!K:K,0)),"")))
をデバッグしてみてくださいしかし、私はVBAコードに変換する方法についてはほとんど手掛かりを持っている時はいつでも、それが強調表示されますので、問題は、もっぱら式自体にあると信じています。式では、値が別のワークブックの異なるワークシートにあり、IFERRORとINDEX MATCHを使用して、必要な値を取得します。
IITは動作します "の代わりに、最後のiferrroで" 簡単な使用 """ である。式= ...'?その場合はそれを行い、埋め込み関数insetadを使用します。あなたがここでやったようにしようとすると、私はそれが動作するかどうかはわかりません。 – Andreas
以下のように記入してください: 'range(" H2:H "&LR).filldown' – Andreas
こんにちは、すばらしい返信をありがとう。私は 'range(" H2 ")。formula ='を実行しようとしましたが、式を強調表示しながら同じ "アプリケーション定義またはオブジェクト定義のエラー"を表示します。 別のマクロで異なる数式で完全に同じコードを使用したため、コード全体に問題はありません。 –