アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel2003を使用しています。
あらかじめ特定のセルにデータを入力してそのデータを元に計算。
それらのBookは日付ごとに1つのBookとなっています。

今、各Book(ファイル?)から計算されたセルのデータを抽出し、
新しいBookにそれらのデータを順に並べたい。

具体的には
A列:Book名(日付)
B列:各々のBookの特定のセル
C列:以下、同様



ということを考えています。

いろいろ調べてみると、マクロないしVBAを用いるとよさそうだ、
ということは分かったのですが、知識が乏しく難航しています。

なにか参考になるページないし、やり方とうアドバイスいただけますでしょうか。

A 回答 (3件)

毎日、ファイルが増えていくということですが、


まだ、間に合うなら、そのようなことはやめたほうが良いです。
マスターデータは、あくまでもひとつのファイルに下方向へ増やす。
計算結果や集計を別シートに表示する。
データベースの基本です。

毎日、メールなどでデータが送られてくるのでしょうか。
マクロの組み方としては、添付ファイルを開いて、内容をマスターとなるブックにコピペする。
添付ファイルは、不要にしてしまう。
こんな感じでしょうか。
的外れであれば、忘れてください。
    • good
    • 0
この回答へのお礼

実にその通りですね、いまさら気づきました。
参考にさせていただきます。

最近になって後の検索に不便なことに気づいたのですが、時既にって感じでした。

実は実験データを蓄積しているのですが、
日付というよりはサンプルごとに、といった具合です。
いくつかのセルのデータだけ抽出したいところですが、
シートごとならマクロを記録することで作れそうなのですが、
Bookがまたがっているため、それが出来ずといった感じです。

お礼日時:2007/12/11 01:18

ご質問の回答ではありませんが、


マスターとなるブックにシートをコピィするマクロ紹介しておきます。
新規のブック(Book1として)を作成して、標準モジュールに以下のVBAをコピィ
Sub ボタン1_Click()
fname = ActiveWorkbook.Name
Range("A1:Z2000").Select
Selection.Copy
Workbooks("Book1").Activate
Range("B65536").End(xlUp).Offset(1, 0).Activate
ActiveSheet.Paste
ActiveCell.Offset(0, -1).Value = fname
End Sub

マクロの記録と違う部分ですが、

fname = ActiveWorkbook.Name は、開いているデータのファイル名を変数に入れておきます。
Range("B65536").End(xlUp).Offset(1, 0).Activateは、データの最終行をアクティブにする方法です。
わざとコピィをB列より右にしています。
 ActiveCell.Offset(0, -1).Value = fname
は、A列にデータのファイル名を入れます、後でフィルして埋めてください。

ファイルが沢山あると根気いると思いますが、
データのファイル開いて、新規(Book1)に作成したマクロを実施、
データのファイル閉じて、次のファイル開く
以下繰り返し
で、まずは、マスターとなるシートを作成することをお勧めします。
    • good
    • 0
この回答へのお礼

上記マクロを参考に勉強してみます。
とりあえず、No.1さんの回答にもあったように、
まだすくないうちにデータを整理してみます。

ありがとうございました。

お礼日時:2007/12/12 19:40

#No1、#No2です。


No2で紹介したマクロは、メインとなるブックに、分散したデータを
コピペするマクロの参考です。
分散したデータの整理のでも使ってください。
少なければ、手作業でコピペ繰り返してもかまわないでしょう。
    • good
    • 0
この回答へのお礼

回答者さんのIDを見てませんでした。
同一の方とは失礼しました。

乗せていただいたマクロを試しに実行したところ、
手で作業するよりは早くできそうな感じだったので、
使用させていただきました。ありがとうございました!

お礼日時:2007/12/12 23:14

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