[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じフォルダ内の別シートからデータを抽出するには』(タマネギ)エクセル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)
マクロを試してみたら上手くいきました!
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.