[[20061214172621]] 『同じフォルダ内の別シートからデータを抽出するに』(タマネギ) ページの最後に飛ぶ

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

 

『同じフォルダ内の別シートからデータを抽出するには』(タマネギ)エクセル2000

毎度お世話になります。よろしくお願いします。

頻繁に名前、保存場所の変わるフォルダがあります。フォルダ内にはシートA、シートBがあります。

ここでシートBにマクロを用意し、シートAからデータを抽出したいと考えています。

・データを抽出したいシートA内のデータ保存セルは毎度同じ場所です

・シートAは他プログラムから自動的に作成されるシートであり、編集、シートBとの結合はできません

・常にデータを抽出するようなマクロではなく、マクロを実行した時にシートAからデータを抽出、シートBにデータを移せるようなマクロで

このような感じで、マクロで可能でしょうか?よろしくお願いします。


 まず、言葉の定義を確認したいのですが、
 シートといっているのは ファイルのことでは無いでしょうか?

 二つのファイルが有り、一方のファイル(B)から他方のファイル(A)のデータを
 参照したいということではないですか?

 頻繁に名前、保存場所が変わるということですが、規則性はあるのでしょうか?
 あるいは、二つのファイルは両方そのフォルダ内にあるのですか?
 フォルダに関しては、ThisWorkbook.Path 等でフォルダ情報を取得できます。

 また、この二つ以外には Excel ファイルは無いですか。
 あるいは A を特定する条件はありますか?

 これらの条件が、明確になれば処理は可能だと思います。
 (Mook)

すいません、質問がわかりにくかったです。

シートではなくてファイルでした。
フォルダの名前、保存場所に規則性は無いのですが、2つのファイルは同じフォルダ内にあり、フォルダから出すことはありません。
この2つ以外にエクセルファイルはありますが、Aのファイル名は元から決まっていて、ファイル名から特定可能です。


 多少推測もありますが、下記のような感じでしょうか。

 ファイルB(マクロファイル)から
 ファイルA(データファイル:名前固定 DATA.xls)
 のデータを取得するのは次のような感じです(フォルダ名は不定)。

 −−−−−−−−−−−−−−−−−−−−−−−−−−
 ファイルB のマクロ
 −−−−−−−−−−−−−−−−−−−−−−−−−−
 Const dataFileName = "Data.xls"

 Sub dataRead()

 ' *** データファイルを開く
    Dim dataBook As Workbook
    Set dataBook = Workbooks.Open(ThisWorkbook.Path & "\" & dataFileName)
    If dataBook Is Nothing Then
        MsgBox "ファイルが開けませんでした。"
        Exit Sub
    End If

 ' *** データ入出力先を設定
    Dim srcWs As Worksheet
    Set srcWs = dataBook.Worksheets(1)  ' dataBook の1シート目

    Dim dstWs As Worksheet
    Set dstWs = ThisWorkbook.Worksheets(1) ' 自ブックの1シート目

 ' *** データを集計 : 普通のセルやレンジの処理
    dstWs.Range("B2").Value = srcWs.Range("C5").Value
    srcWs.Range("B1:B10").Copy Destination:=dstWs.Range("A1:A10")

 ' *** データファイルを閉じる
    dataBook.Close
 End Sub
 −−−−−−−−−−−−−−−−−−−−−−−−−−
 (Mook)

Mookさん、ありがとうございます!

マクロを試してみたら上手くいきました!


コメント返信:

[ 一覧(最新更新順) ]


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