プロが教えるわが家の防犯対策術!

マクロファイルと同じフォルダー内にあるエクセルファイルを開かずに、ファイル内のデータを取得するため、複数のモジュール内で同じディレクトリを記入しています。一か所の変更だけで済むようにディレクトリをsheet2のA1セルに記入して試しましたがうまく取得出来ません。ご指導をお願いできればと思います。管理フォルダ内のファイルは100個以上になる予定です。

Sub ファイルのメモ名取得()

  Dim i As Long, buf As String, Target As String

Const Path = "F:\Data\ノート\管理\" ←このディレクトリをセルに記入して開きたい

buf = Dir(Path & "*.xls")

Do While buf <> ""

Target = "'" & Path & "[" & buf & "]Sheet1'!R3C1" '管理フォルダ内のファイルの3行目(メモ)を取得

i = i + 1

Cells(i, 1) = buf                             

Cells(i, 2) = ExecuteExcel4Macro(Target)        '管理フォルダ内のファイルの3行目を表示

buf = Dir()

Loop

End Sub

A 回答 (1件)

Constでなく


"F:\Data\ノート\管理\" ←このディレクトリをsheet2のA1セルに記入して
dim Path as string
Path=sheets("sheet2").range("A1").value
としてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。エラーメッセージが出ないで正常に表示されました。
Constにこだわりすぎていたようです。大変勉強になりました。

お礼日時:2021/03/04 19:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!