- ベストアンサー
エクセルでのスタッフの月次予定表参照方法についてのアドバイスをお願いします
- VBAの初心者ですが、エクセルでスタッフの月次予定表を参照する方法についてアドバイスをいただきたいです。
- 現在、エクセルで年間の予定表を月毎のシートに入力していますが、スタッフ一人ひとりが参照するために別ファイルを作成することになりました。
- しかし、参照先のファイルを開いていないとコンボボックスで月を選択してもデータが表示されず困っています。エクセルでスタッフの月次予定表を参照する方法について、良いアイデアや方法があれば教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ある程度マクロを併用するなら,一人ずつのファイルを開く際に,邪魔にならないように年間予定表も自動で開かせてしまうのが多分一番簡易な対処です。 例:不可視で,読み取り専用で。 sub Auto_Open() application.screenupdating = false workbook.open filename:="c:\folder\年間予定表.xls", readonly:=true activewindow.visible = false application.screenupdating = true end sub sub Auto_Close() workbooks("年間予定表.xls").close savechanges:=false end sub ★別の手 INDIRECT関数を止めて直接参照の数式に変更します。 コンボボックスで参照データ(=参照元シート)を更新する都度,マクロで直接数式を書き換えます。
その他の回答 (2)
- Nouble
- ベストアンサー率18% (330/1783)
ファイルを開く構文の箇所に問題があるものと思います 他の方々の投稿内容と被るかも知れませんが 開くファイルのファイル名指定の箇所を c:ドライブにあるファイルならC: D:ドライブにあるファイルならならD:と言うところから フォルダー名を順に全て明確に(絶対参照形式で)記載しておけば そこにファイルがありさえすればWindowsが従順に開いてくれるものと思います 如何でしょうか 御役に立てたなら幸いです
お礼
アドバイスありがとうございます! 構文エラーが生じ,確認したところ,ファイル名指定が上手く出来ていない部分を見つけることができました。
- sykt1217
- ベストアンサー率34% (277/798)
VBAで開いては駄目ですか? Dim strInpFilePath As String '出力元ファイルパス Dim strInpFlName As String '出力元ファイル名 Dim wk As Object 'ブック格納 'ファイル存在チェック strFileCheck = strInpFilePath & strInpFlName If Dir(strFileCheck) = "" Then 'ファイルが存在しない場合 MsgBox "該当するファイルが存在しません。" Exit Sub End If '指定されたパスにある、指定されたファイル名のブックをオープン Set wk = Workbooks.Open(strFileCheck) 予め定めたセルにパス・ファイル名などを入力しておき、その値をstrInpFilePath・strInpFlNameに格納、以後上記処理の通りに行えば、汎用性は持てると思います。 こういう話ではないですか?^^;
お礼
回答ありがとうございます。 勉強不足のためか,上手く活用できませんでした。もう少しVBAを勉強して回答内容を実践できるようにしたいと思います。
お礼
ありがとうございました! 思っていたものができました!早速活用します。