- ベストアンサー
セルの文字がファイル名に含まれるファイルを開く方法
AD列に数値「10020」と記載されています。 Fドライブの直下に「10020-2008年実績.xls」のファイルがあります。 他にも「10030-2008年実績.xls」など良く似たファイル名の分があります。 AD列に上5桁の文字が含まれるファイルを開くマクロの方法を 教えてください。 ちなみにAD列の数値はその都度変わります。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
先ほどの一部間違ってました。 AD1の場合 If Range("AD1") <> "" Then Set fs = Application.FileSearch With fs .LookIn = "F:\" .Filename = Range("AD1") & "*.xls" If .Execute > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) Next i Else MsgBox Range("AD1") & "で始まるファイルは見つかりませんでした。" End If Else MsgBox "セルが空欄です。検索できません。" End If End With ループ処理の場合 For n = 1 To 20 '←処理したい行数 If Cells(n, 30) <> "" Then Set fs = Application.FileSearch With fs .LookIn = "F:\" .Filename = Cells(n, 30) & "*.xls" If .Execute > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) Next i Else MsgBox Cells(n, 30) & "で始まるファイルは見つかりませんでした。" End If End With Else MsgBox "AD" & n & "セルが空欄です。検索できません。" End If Next n
その他の回答 (2)
- qualheart
- ベストアンサー率41% (1451/3486)
馬鹿な補足要求をしてしまいました。 申し訳ありません(;´▽`A`` 以下でいかがでしょう? AD1にある文字を参照してエクセルファイルを開くVBです。 If Range("AD1") <> "" Then Set fs = Application.FileSearch With fs .LookIn = "F:\" .Filename = Range("AD1") & "*.xls" If .Execute > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) Next i Else MsgBox .FoundFiles(i) & "で始まるファイルは見つかりませんでした。" End If Else MsgBox "セルが空欄です。検索できません。" End If End With 各行に入力された文字を含むファイルを開きたいのであれば、For処理などで参照するセル行をループ処理すれば良いと思います。 その場合は、Rangeをやめ、Cells(n, 30)などでR1C1形式でセルの値を参照した方がやりやすいですね。 For n = 1 To 20 '←処理したい行数 If Cells(n, 30) <> "" Then Set fs = Application.FileSearch With fs .LookIn = "F:\" .Filename = Cells(n, 30) & "*.xls" If .Execute > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) Next i Else MsgBox .FoundFiles(i) & "で始まるファイルは見つかりませんでした。" End If End With Else MsgBox "AD" & n & "セルが空欄です。検索できません。" End If Next n
- qualheart
- ベストアンサー率41% (1451/3486)
AD列って、A列とD列ってことでしょうか? またはA~Dまでを結合してるってことでしょうか?
補足
qualheart様 ありがとうございます。 AD列です。A列~Z列が終わってその右の方なんです・・・。 列は特に意識しておりません。 よろしくお願いいたします。
お礼
qualheart様 ありがとうございました。 早速記述したらちゃんとマクロが動きました。 ファイル名などの記述も応用がききました。 本当にありがとうございました。