• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別フォルダにあるエクセルファイルのF列値を、他ファイルにコピーさせたい)

別フォルダにあるエクセルファイルのF列値をコピーする方法

このQ&Aのポイント
  • 別フォルダにあるエクセルファイルのF列の値を他のファイルにコピーする方法について教えてください。作業では、Aフォルダに140のファイルがあり、検証テストを複数人で行います。
  • 検証テストが終了したファイルはAフォルダから別のフォルダに移動されますが、移動されたファイルはAフォルダ内では#REF!と表示されます。
  • 質問の主な目的は、ファイルの所在検索マクロ結果からファイルを特定し、そのファイルのF列の値をコピーすることです。質問文にはマクロの作成やエクセルのシートの構造も記載されています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

下記の部分の意味が掴めないので、回答が付かないのだと思います。 >可能がどうか知りたいこと!! >ファイルの所在検索マクロから確認できたファイルの所在 >(ハイパーリンク付)&ファイル名から、ファイルを特定して、 >F列のコピーができるか? どの様に所在を確認されているか分かりませんが、例えば参考URLのコードを用いれば、見つかったファイルのフルパスが得られるので、そのファイルを開いてF列の値を引っ張ってくるのは容易だと思いますが、そういう事では無いのでしょうか? 多数のブックを開きたくないい場合は下記の回答No.2の様な方法もあります(取得はセル単位)が、過去との互換性のために残されているものですので、最新バージョンでも機能が残っているかどうかは知りません。 http://okwave.jp/qa2668111.html

参考URL:
http://officetanaka.net/excel/vba/tips/tips36.htm
manna11
質問者

補足

mitarashiさん、レスが遅くなり、すみません。 返信ありがとうございます! まずは、ファイルの所在検索は↓ -------------------------------- Sub ファイル所在検索() Dim vntF As Variant Dim objFS As FileSearch Dim objFSO As FileSystemObject Dim dteDate As Date Dim GYO As Long Dim cntFound As Long Set objFS = Application.FileSearch ' FileSearch Set objFSO = New FileSystemObject ' FSO Rows("5:65536").ClearContents GYO = 4 With objFS .NewSearch .LookIn = Trim(Cells(1, 2).Value) ' Search開始フォルダ .Filename = Trim(Cells(2, 2).Value) ' 探索ファイル式 dteDate = DateAdd("m", Cells(3, 2).Value * -1, Date) .SearchSubFolders = True ' サブフォルダも探索 ' 処理開始 If .Execute() <> 0 Then ' 見つかったファイル分のループ For Each vntF In .FoundFiles '-------------------------------- ' ↓↓↓この間が見つかったファイルに対する処理↓↓↓ ' FSOにてファイルを取得 With objFSO.GetFile(vntF) ' 今回は、最終更新日を確認し、該当ならシートの表示 If .DateLastModified >= dteDate Then GYO = GYO + 1 Cells(GYO, 1).Value = _ Left(.Path, Len(.Path) - Len(.Name) - 1) cntFound = cntFound + 1 Cells(GYO, 2).Value = .Name Cells(GYO, 3).Value = .DateLastModified End If End With ' ↑↑↑この間が見つかったファイルに対する処理↑↑↑ '-------------------------------- Next vntF End If End With Set objFS = Nothing Set objFSO = Nothing ' 処理結果の表示 If cntFound = 0 Then MsgBox "見つかりません" Else MsgBox cntFound & "個見つかりました" End If End Sub ---------------------------------- このようなコードを入れています。 mitarashiさんが貼り付けてくださっていた 参考URLのマクロと同じようなコードです。 もう一つのURLから、こちらを見つけました! http://oshiete1.goo.ne.jp/qa2406030.html 参考になるコードがありましたので、明日試してみます! ありがとうございます。

関連するQ&A