• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルマクロの質問。値の変更のイベントについて)

エクセルマクロの質問。値の変更のイベントについて

このQ&Aのポイント
  • エクセルマクロの質問。値の変更のイベントについて
  • 商品受注表で商品マスターのデータを自動入力するためのエクセルマクロの作成方法について質問です。
  • また、注文総数と各社の受注数を手入力したときに、合計とチェックの計算が自動的に行われるようにする方法も教えていただきたいです。

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

  • ベストアンサー
  • mimeu
  • ベストアンサー率49% (39/79)
回答No.1

自動化  ボタンを押せば狙い通りに動くようですので、商品コードを入力すれば ボタンを押さなくても動いてほしい、というご質問だとしてお答えします。 Worksheet_Change イベントを処理すればイケます。 こんな感じです。   Private Sub Worksheet_Change(ByVal Target As Range)     MsgBox Target.Address   End Sub もし商品コードの文字数が一定であれば、バカよけのために   If LEN(Target) <> 8 Then Exit Sub などとすればよいでしょう。 ご存じと思いますが、『Private Sub Worksheet_Change(ByVal Target As Range)』 を表示するにはコード編集画面上部の二つのコンボボックスを使います。 またこのコードはシート2(入力用)のコードペインに書きます。 エラー処理 エクセルのヘルプでは    検索の型に FALSE を指定すると、検索値と完全に一致する値だけが検索され、    見つからない場合はエラー値 #N/A が返されます。 とありますので、最初の VLOOKUP の直後に    ワークシート関数の TYPE(Range("B" & 行))=16    またはVBA関数の VARTYPE(Range("B" & 行))=vbError でテストできます。

2990kg
質問者

お礼

mimeu様、回答ありがとうございました。 Worksheet_Change イベントを使ってみたら自動化できました。 感激です! しかし・・・ 商品マスターにないコードを入れた場合の処理が上手くできませんでした・・(文字数は一定ではないのです) しかし、とてもよいヒントをいただけましたので、少し自分でがんばってみます。 お礼が遅くなり申し訳ございませんでした。 とても参考になりました。

関連するQ&A