質問: excel帳票からexcel一覧を作成するマクロ 一定のエクセル帳票があります。 それぞれのセルに項目があり、 納品書 a列 b列 1 納品日 2013/5/10 2 品目 カップラーメン 3 価格 128円 4 数量 1,000個 5 合計 128,000 6 賞味期限 2014/4/1 など・・・ これが1枚のexcel帳票として複数枚あるとします。 excelを開くたびにマクロを実行し、一覧表を作成します。 納品日 品目 価格 数量 合計 賞味期限 xxxxx xxxx xxxxx xxxx xxxx xxxxxxx yyyy yyyy yyyy yyy yyyy yyyyyyy 帳票を読み込んで自動的にこの一覧excelを作るようにしたいのですが、 どのようにしたらよいのか、マクロ初心者のため全くわからなく困っています。 この一覧をdbと見立ててsqlで書き込んでいけばよいと感じているのですが、 これもどうすればいいか、途方に暮れています。 わかる人であれば、1時間もあればできるものだと思うのですが、 なかなか手を付けられず悩んでいます。 簡単に手ほどき、サンプルなどを教えていただけると嬉しいです。 よろしくお願いします。
回答: dbやらsqlやら難しいことはわかりませんが、 肝心なところがスッポリ抜けていることだけはわかります。 > 1枚のexcel帳票として複数枚ある 同一のブックの中に「複数のシートが」あるということでしょうか。 同一のフォルダの中に「複数のブックが」あるということでしょうか。 仮に後者の場合、各ブックのシート数・シート名は同一でしょうか。 また、必要無いシートが混ざっていたりしないでしょうか。 それとも、複数のフォルダから複数のブックを読み込まなきゃならないのでしょうか。 > 一覧表を作成します どこに作ったら良いでしょう。 「帳票(?)シート」が羅列されているブックに「一覧表」シートを付加したら良いでしょうか。 それとも、新規ブックを「一覧表」として作成したら良いのでしょうか。 > excelを開くたびにマクロを実行し エクセルをのものを立ち上げた時(新規ブックを作る時などにも)、 必ずこのマクロが動くようにしたいと言うことでしょうか。 それとも、特定のブックを読み込んだ時に限定したいのでしょうか。 などなど、組むに当たって不十分な情報だらけです。 よって一般論として、手ほどきと言うか考え方を。 エクセルには「マクロの記録」と言う機能があります。 質問文中のサンプルデータを拝見する限り、 「縦に並んでいる情報を横に並べ替える」だけのように見えます。 つまり、「マクロの記録」で ・範囲を指定 ・コピー ・行列を入れ替えて貼り付け 以上の動作を記録し、アレンジしていけばよろしいのではないか、と思われます。 それが出来たらあとは「質問文中に無い処理条件」を加味し、 マクロを仕上げていけば出来上がります。