• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:教えてください。)

Excelを使った業務管理についての質問

このQ&Aのポイント
  • Excelを使った業務管理に関する質問です。関数を多用してExcelファイルを作成しているため、容量が大きいです。自動記録で作成したマクロを改良して使っています。そこで、商品数が500以上のシートで、B列が変更されたらD列に入力待ちをして、結果をC列に反映するようなマクロを作成できるのか聞きたいです。
  • Excelを使った業務管理に関する質問です。関数を多用してExcelファイルを作成していますが、容量が大きくなっています。マクロについては、自動記録で作成したものを改良して使っています。そこで、500以上の商品数を持つシートで、B列が変更された場合にD列の入力を待ち、結果をC列に反映するマクロを作成できるのか教えてほしいです。
  • Excelを使った業務管理について質問です。Excelファイルを作成する際に関数を多用していますが、ファイルの容量が大きくなってしまいます。マクロについては、自動記録で作成したものを改良して使用しています。そこで、商品数が500以上のシートで、B列が変更された場合にD列の入力を待ち、結果をC列に反映するマクロを作成する方法を教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

総合的に、回答したのとは違う事を勝手に間違えてやっている様子が疑われます。 回答した方法は、全てのバージョンのエクセルで何一つ変える必要なく、実施できます。 あなたの補足: >早速、シートにマクロを貼り付けてみましたが、B列に入力してもマクロが実行されません。 回答とは違う、まちがった「シート」に記入している様子が疑われます。 手順を再掲しておきますので、回答した通りに行ってください。 再掲: >手順: >シート名タブを右クリックしてコードの表示を選ぶ 言わずもがなですが、ここで言ってる「シート名タブ」とは、あなたのABCDE列のエクセルシートのシート名タブの事です。 また、中途半端に何かやりかけてて、ドツボに嵌っている可能性もあります。 まっさらのブックを用意して、回答の説明をよく読みながらその通りに手を動かして、作成し動作確認してください。 あなたの補足: >再度ファイルを開いたところ、 >dim h as Reng >が定義されていません。 こちらも、回答した内容とは違います。 次のように回答している通りに、行ってください。 再掲: >現れたシートに下記をコピー貼り付ける

kuma_1228
質問者

お礼

わが社のパソコンは外部記録媒体の使用が制限されており、手入力で入力していたので、入力ミスをしてしまい、ご迷惑をおかけしました。 本日、改めて入力し直したところ、おかげさまで希望どおりにできました。 また、Excelに関し疑問がでましたら質問させていただきたいと思いますので、その際にはよろしくお願いします。 今回は本当にありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

準備: C列には =D2+E2 のように数式を記入しておく 段取り: 1.B列の日付を更新したら 2.自動的にC列の数値をE列に転記し 3.D列をクリアしてその日の売り上げの記入を待つ 4.その後D列に記入すれば、勝手にC列に加算される。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range)  dim h as range  on error resume next  for each h in application.intersect(target, range("B:B"))   if h <> "" then    cells(h.row, "E").value = cells(h.row, "C").value    cells(h.row, "D").clearcontents   end if  next end sub ファイルメニューから終了してエクセルに戻る 段取り通りB列の日付を更新し、D列に数字を記入する。

kuma_1228
質問者

お礼

すばやい対応、ありがとうございます。 早速、シートにマクロを貼り付けてみましたが、B列に入力してもマクロが実行されません。 今日は本来自分が普段使っているパソコンではなく、Excel2003を使っているためなのでしょうか? わが社には、Excel2003、2007、2010が混在しているので、どのパソコンからでも動作するようなマクロで、改めてお願いします。

kuma_1228
質問者

補足

いったん終了させ、再度ファイルを開いたところ、 dim h as Reng が定義されていません。というメッセージがでました。どうすればいいのでしょうか?

noname#192382
noname#192382
回答No.1

お尋ねします。 > 日々の更新作業の前段として、マクロで(1)C列のコピー(2)E列に値貼り付け、(3)D列値のクリアを実行させています。 そこで、B列に変更があれば、D列の入力を待ってその結果をC列に反映するようなマクロができるのかな?と思い、ご教示いただけばと相談させていただきました。よろしくお願いします。 お尋ねになっていることは「日々の更新作業の前段」の作業をマクロでしたいということでしょうか。 それとも「B列に変更があれば、」ということはもしB列に異なる数が入力されたらその時点で、前日のデータを更新するということでしょうか。そうなると間違って異なる日づけを入力したときのことが心配になります。どちらでしょうか。、

kuma_1228
質問者

補足

言葉足らずで申し訳ありません。 お尋ねの件については、後者です。 データの更新があれば、マクロが自動で実行されると、業務の効率が良くなると思い、質問させていただきました。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう