痔になりやすい生活習慣とは?

お世話になっております。

ファイルAにマクロを作成し、ファイルAのパスを求めます。
そして、ファイルBを開き、ファイルAのパス名でフィルタをかけ(仮にA列とします)
それに対応するファイル名を求めます。仮にc列とします。
この場合、C列に書かれているファイル名(仮にファイルC)を起動するにはどうしたらよいのでしょうか?

そもそもこんな事を考えたのは
ファイルAに起動するファイル名を書いておき、起動することはわかるのですが、
今後起動する”ファイルC”の数が増えることが予想され、メンテナンスの面から
ファイルAの存在するフォルダより起動する”ファイルC”を対応させたテーブル
この場合”ファイルB”を作成し、そこのメンテナンスさえ行えば、ファイル数の増減にも
楽に対応できるのではと思ったからです。

そもそもこのような事は無理なのでしょうか?
わかりづらい文章かもしれませんが、
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

>今後起動する”ファイルC”の数が増えることが予想され、メンテナンスの面から



質問の意図が良くわかりませんが、メインテナンスの目的もわかりません。
自動的にファイル数が増えるなら、増加に合わせて日付連番などにして、保存や後利用(何かのキーからファイル名を自動的に決定する等)可能な名前にするのも良いでしょう。

セルに書かれた名前のファイルを開くなら簡単です。

>ファイルAに起動するファイル名を書いておき、起動することはわかるのですが、

任意のセルの値を読み込んで、ファイル名として渡せばよいことですが?

Path = thisworkbook.path & "\"
F_name = Range("C3")
workbook.open Path & F_name
(タイプミスがあるかも)
    • good
    • 0

VBAで作るのも悪くはないのですが、ハイパーリンクを使ったほうがシンプルであるのと後々に応用が利きやすいと思いますよ。


フィルターをどうしてもかけたいのであれば例えばC列にハイパーリンクを貼りD列に関数を使ってにては?
質問自身の回答ではないのですが、#1#2さん同様そのような管理という意味は理解はするのですが、メンテや管理というなら方法論としては意図が理解しにくいです。
多分質問者さんのしたいことはVBAでなくとも可能であると思いますよ。
    • good
    • 0

解りづらいですね。


なぜBファイルが必要なのかも良く解りません。
基本的には開きたいファイルのフルパスを作ってやれば良いだけなので、やりたい事は可能だと思いますが。

例えばファイルAにマクロを書き、同じフォルダに置いたExcelファイル全てに処理をするというような運用ではダメなのでしょうか?

1.下記のようなマクロを書いたファイルを適当なフォルダに保存
2.同じフォルダに処理したいExcelファイルを置く
3.マクロを実行

Sub test1()
Dim myFile As String, myPath As String
 myPath = ThisWorkbook.Path & "\"
 myFile = Dir(myPath & "*.xls", vbNormal)
 Do While myFile <> ""
   If myFile <> ThisWorkbook.Name Then
    MsgBox myPath & myFile
    ' Workbooks.Open myPath & myFile
   End If
   myFile = Dir
 Loop
End Sub
    • good
    • 0
この回答へのお礼

説明が不十分で申し訳ありません。
依頼者からの意図を充分把握しないで
作成しているので、自分でも整理できていない所
があったのかもしれません。
質問をする際には、わかりやすいように努めます。

お礼日時:2005/03/08 20:09

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


人気Q&Aランキング