[[20041116212135]] 『複数のブックよりとりまとめ』(Ty) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数のブックよりとりまとめ』(Ty)
 いつもご指導いただき感謝申し上げます。
 また、お教えいただきたくお願いします。

 フォルダ「総合」ファイル「まとめ」のSheet1のA1に「東京」
 A2に「鈴木太郎」と入力したとき、

 B3に、他フォルダ「関東」ファイル「東京」シート「鈴木太郎」のB3を表示
 C6に、他フォルダ「関東」ファイル「東京」シート「鈴木太郎」のC6を表示したい。

   そして同じように、
 フォルダ「総合」ファイル「まとめ」のSheet1のA1に「大阪」 
 A2に「山田花子」と入力したとき、

 B3に、他フォルダ「関西」 ファイル「大阪」シート「山田花子」のB3を表示
 C6に、他フォルダ「関西」ファイル「大阪」シート「山田花子」のC6を表示したい。

   まとめ、
 1枚の原紙のA1、A2を入力することによって、他フォルダの同一行・列を表示したい。
(参考、D8は他フォルダ「地域」よりVlookしています)
 よろしくお願いいたします。


 とりあえず疑問点だけ・・・。
 ブックとファイルをお間違えになってませんか。
 通常はブックとファイルは同じ扱いですけど。
 フォルダ−ファイル(ブック)−シートの間違いでしょうか。
 (川野鮎太郎)

 いままで間違えておぼえていました。
 フォルダです。上の質問の箇所をそのように訂正しました。
 よろしくお願いします。(Ty)


 関数では他のフォルダの参照はどうするんでしょうね。
 3つのファイル(ブック)を開いておいて、まとめファイルの
 B3セル=INDIRECT("["&A1&".xls]"&A2&"!B3")
 C6セル=INDIRECT("["&A1&".xls]"&A2&"!C6") で値は出ますけどね。

 ※ただし、各ファイルは移動したりしたらエラーになります。
 (川野鮎太郎)

 3 つのブックを開いておいて、川野さんの式を入力した段階では、フォ
 ルダ名は式に反映されませんが、参照先のブックを閉じると、フォルダの
 パスが反映されますね。
 (エキストラ)

 川野鮎太郎様 、エキストラ様
 >3つのファイル(ブック)を開いておいて
 できました。ありがとうございます。

 追加の相談です。
 「まとめ」ファイルのみ開いておいて、作業する方法がありましたなら
 お教えいただけないでしょうか。
 (実際は、フォルダは8個あって、各フォルダには30ファイルありまして、
 いちいち各ファイルを開かなくて作業したいんですが。
 あとだしの質問のようで申し訳ございません。)
 (Ty)


 やってみましたけど数式で引っ張る限りは、式を変更(A1の変更)の時点で、
 該当のブックが開いてないとエラーになりますね。
 =IF(A1="東京",INDIRECT("'D:\関東\["&A1&".xls]"&A2&"'!B3"),INDIRECT("'D:\関西\["&A1&".xls]"&A2&"'!B3"))

 あとは、マクロで値を直接持ってくるしかないかな・・・。
 マクロでも自動的にブックを開くようにする方法しか私は判りません(^_^A;
 (川野鮎太郎)

 ありがとうございました。
 >マクロでも自動的にブックを開くようにする方法
 を、勉強します。わからないときはまた相談にのってください。
 (Ty)

 お教えください。
 「総合」フォルダの「まとめ」ファイルのA1が「東京」となっています。
 「まとめ」ファイルに下記マクロをセットして実行したところ、
 エラー1004で「東京.xlsがみつかりません」となりました。
 Workbooks.Open Filename:=mybookの箇所が黄色で、
 mybookの箇所にマウスを乗せると「東京.xls」と表示がでます。

 Sub 指定ファイルを開く()
  Dim mypath As String, mybook As String, bookpth As String
  mypath = "C:\Documents and Settings\ya\My Documents\日本\関東"

  mybook = Dir(mypath & "\*.xls")
  Do While mybook <> ""
          bookpth = mypath & "\" & mybook
          MsgBox bookpth
          Workbooks.Open Filename:=mybook
          ' ここに自分が実行したい処理を書く
       mybook = Dir
  Loop
  End Sub

 どこを訂正したらよいのでしょうか、お教えください。
 (Ty)


 > Workbooks.Open Filename:=mybook ではなく

    Workbooks.Open Filename:=bookpth ではないですか。
 (川野鮎太郎)

 ありがとうございました。
 できました。(Ty)


 こんな感じにしたいのかな・・・。
Sub 指定ファイルを開く()
Dim mypath As String, mybook As String, bookpth As String
Dim MyB As String
MyB = ThisWorkbook.Name
MyDirPath = Range("A1").Value
Select Case MyDirPath
    Case "東京", "神奈川"
        MyDir = "関東"
    Case "大阪", "京都"
        MyDir = "関西"
    Case "札幌"
        MyDir = "北海道"
    Case "福岡", "熊本"
        MyDir = "九州"
    End Select
mypath = "C:\Documents and Settings\ya\My Documents\日本\" & MyDir
MyBookName = Range("A1").Value
mybook = Dir(mypath & "\" & MyBookName & ".xls")
Do While mybook <> ""
    bookpth = mypath & "\" & mybook
    MsgBox bookpth
    Workbooks.Open Filename:=bookpth
          ' ここに自分が実行したい処理を書く
    mybook = Dir
Loop
    Windows(MyB).Activate
End Sub

 (川野鮎太郎)

 川野鮎太郎様
 ありがとうございます。
 前のご指導>Workbooks.Open Filename:=bookpth で、うまく作動できています。
 今のご指導>こんな感じにしたいのかな・・は、まだためしていませんが、
 さっそくセットしてためさせていただきます。
 取り急ぎお礼もうしあげます。(Ty)
 いまなんとなくわかりました。
 私は、マクロの「関東」を「関西」「北海道」といちいち書き換えて使用するつもり
 でしたが、書き換えることなくできるんですね。
 こちらの状況が、川野様には手に取るようにわかるんですね〜。
 ありがとうございました。(Ty)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.