エクセルマクロで注文表を作成する方法

このQ&Aのポイント
  • エクセルマクロを使用して、最大約5000件の注文表を簡単に作成する方法を紹介します。
  • 注文番号と注文枚数をピボットで集計し、A4サイズの表に注文のあった番号と枚数を入力するマクロを組むことができます。
  • さらに、ヘッダーの設定をテキストボックスで行い、ボタンをクリックするだけで雛形の枚数部分を削除することもできます。
回答を見る
  • ベストアンサー

エクセルマクロで注文表を作成したい

最大約5000件の注文表を作成において、マクロを使用して簡易化したいと思っています。 基本的には連番と枚数だけを業者に知らせるシンプルな注文表なのですが、以下のことをマクロで組みたいです。 (1)注文番号と注文枚数をピボットで集計したあと、A4(8列25行)雛形の表に注文のあった番号だけ枚数を入力したい。(注文のない番号も空白で必要だそうです) (2)ヘッダーをわざわざ設定を開いて変えるのではなく、シート上に作成したテキストボックスに入力するだけで、変更できるようにしたい。 (3)次回、集計するときのために雛形の枚数部分だけをボタンを1クリックするだけで削除したい。 注文は手書きでくるため、注文番号+枚数を入力するだけでも かなりの作業になるのです。ということで皆様の知恵をお借りできればと思います。マクロは初心者ですが、どうぞご指導のほどよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • picklse
  • ベストアンサー率65% (26/40)
回答No.2

>1、SUMIF関数で注文ない番号の部分は0と表示されますが、 空白にする場合はどのような条件を付け加えればよいでしょうか? セルの書式設定で対応するのが簡単です。 表示形式でユーザー定義を選び、種類のところに「#,###」を手入力します。 >2、ヘッダーの位置(左にお客様の名前、右端に常に弊社名)を決める場合、マクロではどう書けばよいでしょうか? .CenterHeaderを.LeftHeaderや.RightHeaderに変えてください。 Excelでは右、中央、左にそれぞれ設定できます。 なお、自社の名前はわざわざVBAで設定しなくても、ファイルメニューのページ設定で設定しておいても良いのではないでしょうか? また、VisualBasicEditorの画面で、.CenterHeaderにカーソルがある状態でF1キーを押せばヘルプが表示されますので、参考にしてください。

その他の回答 (1)

  • picklse
  • ベストアンサー率65% (26/40)
回答No.1

Sheet1に注文のデータを保存し、Sheet2に業者に知らせる注文表を作ってみます。 Sheet1では注文番号と枚数を縦に列挙するとします。    A    B    C    D  1 注文番号 枚数   ヘッダ  ○○表 Sheet2では縦25行に注文番号ごとに枚数を集計したものを4組作るとします。    A    B    C    D…  1 注文番号 枚数   注文番号 枚数… (1)ピボットを使わなくても、Sheet2のセルB2に「=SUMIF(Sheet1!$A$2:$A$5001,A2,Sheet1!$B$2:$B$5001)」を入力し、他のセルにコピーすれば集計してくれます。 (2)Sheet1のセルD1にヘッダに指定する文字を入力することにします。 VBEでSheet1のコードに次のように書きます。 Private Sub Worksheet_Change(ByVal Target As Range)  If (Target.Row = 1) And (Target.Column = 4) Then   Worksheets("Sheet2").PageSetup.CenterHeader = Range("Sheet1!D1").Value  End If End Sub (3)Sheet1の注文データと連動しているので、集計し直す必要はありません。消去するのはSheet1の注文データの方になります。 Private Sub ClearData() Range("Sheet1!$A$2:$B$5001").ClearContents End Sub

haruhary
質問者

お礼

どうもありがとうございます。 おかげさまで半分くらい作業を減らすことが出来ました。 もう2点質問させてください。 1、SUMIF関数で注文ない番号の部分は0と表示されますが、 空白にする場合はどのような条件を付け加えればよいでしょうか? 2、ヘッダーの位置(左にお客様の名前、右端に常に弊社名)を決める場合、マクロではどう書けばよいでしょうか? ご指導よろしくお願いします!

関連するQ&A

  • EXCEL ピボット集計表の (空白) について

    いつもお知恵拝借、ありがとうございます。 最近、ピボットテーブル集計を使う機会が増えまして、集計表を作製したのですが、一つ気になる点がありますので、ご教示をお願いします。 元のシートのセルが、空白のばあい、ピボット集計表の「詳細リスト」に「(空白)」と表示されます。いろいろやってみたのですが、消せません。元のシートのデータが空白なので、ピボット集計表でも空白で表示してくれればいいのですが、何かのサービスのつもりでしょうか?集計表の「空白」覧に手書きでデータを記入することもあるので、空白のままにしてほしいのです。 「詳細」で、「空白に表示する文字」を入れても変化はありません。強いて元のシートの空白セルに「スペース」を入れてやれば、見かけ上は「空白」にはなりますが・・・。 なんか方法があるのでしょうか? OS=XP EXCEL=2003 です。よろしくお願いします。

  • 空白セルの表を非表示にするには?

    はじめまして パソコン歴 2年ちょっとです。 めんどい作業を会社でしているので困っています。  まず、A列に連番があります。     B8からM25まで一覧表があります。     B列が項目、8行に日付があり、作業者は日々該当する     箇所に個数を入力してます。     集計欄がF7とG7にあります。  このような表が複数あるのですが表によっては1週間、集計欄が     空白になるケースもあります。  次に、集計欄が空白の表は非表示にして上に詰めて     入力された表のみ印刷して提出します。  また、これとは別にこの一覧表をもとに専用用紙に手書きで記入後、     提出しなければいけません。    もっと簡単にできないものか参考書を開いて調べましたが     わからなかったです。マクロも現在勉強中でなかなか進みません。          こんなこと、マクロでできるのかわからないのですが、少しでも早く     仕事が片付くならば、というきもちで書かせていただきました。  いまだにこんなことをやらせている会社も会社ですが、     何卒ご指導願います。

  • エクセルで表を作成しています。

    エクセルで表を作成しています。 500人に誰に、月に何枚配布したかの確認表を作成しています。 縦に五十音順の名簿、横に1月~12月を入力。 毎日渡した枚数をそれぞれのところに入力しています。 単月はオートフィルタから、空白セル以外を選ぶとわかるのですが。 半年の時点で誰に何枚渡しているか?を見る場合、どのようにすれば簡単にできるのでしょうか? どうぞよろしくお願いします。

  • 注文一覧表作成で困っています(VLOOKUP)

    長文失礼します。 自分でも色々と調べたのですが分からない事だらけでかなり滅入っているので詳しい方に助けていただきたく、分かる点だけでも回答をいただければ非常に助かります。 これまで種類毎にシート分けしていた注文一覧表ファイルに全注文分を集約した新たなシートを追加し、その情報の項目諸々を他のファイル(作業時間ファイル)にも展開したくと思い、下記のようなフォーマットを作成しました。 <(1)注文一覧ファイル> シート(1)…集約表(注文番号、金額、品名などを入力) シート(2)…種類Aの一覧表((1)の注文番号をキーにしてVLOOKUPで参照。ただし、金額には算式(ROUNDDOWN(SUM(X/Y,2)を含む)が入っているので、それを「集約表」に値はりつけした) シート(3)…種類Bの一覧表(同上) シート(4)…売上合計表((2)(3)を別の基準でSUIMIF集計) <(2)作業時間ファイル> シート(1)…集約表((1)(1)をまるごとコピー) シート(2)…作業時間集計表((1)の注文番号をキーにして金額などをVLOOKUPで参照、(3)を別の基準でSUMIF集計) シート(3)…作業時間明細表 ※ファイル(1)と(2)をまたぐ算式は入れていません。 実際に算式を入れて正しく集計されるか確認したところ、いくつか合わない箇所がありました。 【合わない点】 その1:(1)(2)から(1)シートへの金額はりつけ時、端数処理のせいか金額が若干上がっているのがまれにある。 →★質問1 値はりつけしただけなのに正しく集計されないのですがなぜでしょうか?式が誤っているのでしょうか? その2:(1)(4)シートのSUMIFで金額が一部集計されないもの(端数ではない)がまれにある。 →★質問2 例えば(1)シートの入力の際に手入力でなくて一部他データより値はりつけしたから(文字列になっている?)というのは考えられますか? 対処方法や見つけ方はありますか? ★質問3 VLOOKUPの式はそのまま残しておく(値はりつけせずに算式のまま)と正しく集計されないとか不便な点はありますか?注文番号を次々に追加して式は残しておきたいんですが…。 ★質問4 (2)ファイルの(1)、(2)ファイルの全体の金額合計は見た目上検算(SUM)でも合っていたのですが、文字列はりつけ分があると、その金額を用いた他の時間集計とかで正しく集計されないとかあり得ますでしょうか? ★質問5 VLOOKUPを使う以外に同様の作業(注文番号だけ入力したら、他の情報を自動で出てくる)ができる単純な方法などがあれば教えてください。 長々とすみませんが、分かるものがあれば教えていただきたくよろしくお願いします。

  • エクセルマクロで出来るでしょうか。

    マウスでクリックしたセル位置の入力内容を、別のセル位置に表示するようなマクロは出来るでしょうか?。 考えているのは、弁当注文の集計表の作成です。 A列に氏名、B列に店名、C列に品名、D列に金額と、予め入力してある表で、 当日注文する分を、個人毎に、氏名・店名・品名・金額・とクリックすれば、 同じシート内に作成した集計表に、クリックした順番に表示していくというようなものです。 予めの入力は、各列5行目から行っています。 また集計表は、F列、G列、H列、I列の5行目から下に、クリックした順番に表示できればと思っています。

  • エクセルで注文書を作成したい

    エクセルを使って、顧客ごとに注文確認書を作成したいのです。簡単な方法を教えてください。平均して40件くらい顧客があります。  今は、タイトルに「○」月分注文確認表と入れ、「○×会社 」御中と左肩に入れ、右肩にこちらの社名を入れ、下中央に表を作成。その中にそれぞれ注文品の名前やら納品日やら違うデータをアクセスから取り出して貼り付けていきます。また、新たな注文が手書きで追加できるように空白の行も作成しておきます。ただ、それを1シートの中に作成しているので、顧客数だけページをコピーし、貼り付けを行っています。コピーでは行の幅をいちいち直したりしなくてはならず、本当に気が遠くなる作業です。  なにか、差込印刷のようなデータを流し込むような方法とか、タイトルの○月のところの月数と、「相手先の社名」と表の内容だけを貼り付ければいいだけにするやり方はないでしょうか?

  • Excelで勤務表を作成。

    勤務表を作成しています。 赤いセル「/。」は、希望休です。 勤務表の組み直しを行うため、希望休以外を一括で削除して空白にしたいのですが、そのようなマクロを組む事はできますか? 色で判別するよりも、入力してある文字「/。」で判別して、それ以外に入力してある文字を削除できるようにしたいです。

  • EXCELでマクロを使用して表を作成するには?

    EXCEL2000にて、“マクロ”を使って必要事項を入力すれば、下記のような流れで自動的に表を作成することは可能でしょうか? 1.必要事項を入力。     A列    B列      C列 A行 (工事名) (名前)  (作業時間) B行  下水    タナカ    10.0 C行  下水    ヤマダ    8.0 D行  上水     スズキ    5.5 E行  道路    スズキ    2.0 F行  道路    タナカ    4.5 G行  上水    カトウ    15.0 2.別のシートに1で入力した内容を集計     A列  B列   C列    D列   E列 A行      タナカ  ヤマダ  スズキ  カトウ  B行  下水  10.0   8.0     0.0    0.0 C行  上水   0.0    0.0     5.5   15.0 D行  道路   4.5    0.0    2.0    0.0 私自身は関数(SUMPRODUCT)かピボットテーブルでなら、どうにか作成できるのですがマクロに関しては初心者で、ほとんどわかりません。 現在、入門書を購入して最初の項目を勉強中ですが、業務上、急いで作成しないといけないため、どなたかお教えいただけないでしょうか? どうぞよろしくお願いいたします。

  • 集計表、グラフの作成について

    いつもお世話になっております。 AccessのDBからの集計表、グラフの作成につてお聞きしたいです。 AccessでEXCELのような集計表を作る場合、クロス集計クエリかピボットテーブルを使用するかと思うのですが、こういった表の体裁は変更がききませんよね? 例えば会議で使うグラフや表の資料を作成する場合、AccessのDBのほうから必要なデータ(ある程度集計抽出したデータ)をエクスポートしてEXCELのピボットテーブルで表を作成し、このデータを別シートにコピーして表の体裁の変更やグラフの作成をしています。 内容によっては結構時間がかかるので、表を作成するのに何か効率の良い方法はないでしょうか?

  • エクセルにて出庫表の作成

    会社内資料で1か月分の出庫集計表をエクセルにて作成したいのですが、初心者のため出来ません。簡単な説明と関数での方法を教えていただけますよう、宜しくお願い致します。 やりたいこととして、注文に応じたそれぞれの商品(あ~)合計の日毎合計を集計したいです。(3)の資料作成です。 (1) 注文(約100種)に応じて対応する商品の出庫表 SHEET1     商品あ 商品い 商品う 商品え 商品お 以下→(約50種) 注文A  2    3    0    2    0 注文B  0    5    1    0    1 注文C  1    1    1    1    1 注文D  5    0    6    0    4 以下 ↓ 計注文パターン(約100種)あり (2)客先より1か月分の注文(約100種A~) SHEET2     1日  2日  3日  4日  5日 ~ 31日 注文A  1   5    6    0    5 注文B  2   0    4    4    4 注文C  0   6    2    7    3 注文D  9   8    0    0    0 以下 ↓  (3)注文に応じた出庫表の作成 SHEET3     1日   2日  3日  4日  5日 ~ 31日 商品あ 商品い 商品う 商品え 商品お 以下  (約50種) 今SHEET1の資料は作成済でSHEET2の資料についてはフォームは一応作成しましたが、(3)の合計を簡単に出す方法でお手上げの状態です。 説明も下手で長くなっておりますので、伝わりにくく申し訳ありませんが、どなたか簡単なやり方(関数)を教えていただけますようお願い致します。 ちなみにエクセル初心者で、マクロとか全くわかりません。

専門家に質問してみよう