- ベストアンサー
エクセルVBAのエラー
よろしくお願いします。 VBA初心者のものです。 下記のコードを作成しましたが、 アプリケーション定義?がされていません というエラーが出ます。 わかりやすく教えていただけないでしょうか。 修正方法を教えてください。 0901名簿.xlsという名前の ファイルAのsheet1の 情報(ファイルBのセルBD1に日付4桁が記入されている)を ファイルBのセルA1の情報を元にファイルBのセルB1に抽出したい Sub 関数の挿入() Dim i As Long Dim あ As String Dim い As String Dim う As String あ="=VLOOKUP(A1,[" い=Range("BD1") う="名簿.xls]Sheet1!$F:$I,1,0)" For i = 2 To 50 Range("A" & i )= あ & い & う Next i End Sub
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
式の入力を含めて、自動記録して、修正されては如何でしょうか。 Sub test() Range("B1").FormulaR1C1 = "=VLOOKUP(RC[-1],[" & Range("bd1").Value & "名簿.xls]Sheet1!C6:C9,4,FALSE)" Range("B1").AutoFill Destination:=Range("B1:B50"), Type:=xlFillDefault End Sub この様な事を行いたいのでしょうか? 抽出列の4は適当に入れました。 外していたらすみません。
その他の回答 (2)
- mt2008
- ベストアンサー率52% (885/1701)
ソースを拝見しましたが、まずはセル式でやりたいことを実現してからマクロを作られた方が良いと思います。 今のままでは何をしたいのかさっぱり判りません。
仰っている事が判りにくいので整理しましたが、下記であってますか? 1.ファイルBのセルBD1に日付4桁が記入されている 2.1.の日付を使ってデータの抽出元(ファイルAとする)を特定する ファイルAの名前は、(1.の日付) & "名簿.xls" 3.ファイルBのセルA1の値を元に、ファイルAのSheet1からデータを抽出する 4.抽出したデータはファイルBのセルB1に入れる
補足
はい、おっしゃるとおりです。 宜しくお願い致します。