| 
    
     |  | ▼隼 さん: 
 こんにちは
 
 (隼 さん は 本山中さんですよね。)
 
 まず、私からの返事の前に、以下、お願いします。
 
 次回、レスされる際に
 ・マクロを表示させた時に、そのダイアログボックス(マクロ名が表示されている画面のこと)に
 表示されているマクロが、複数あれば、それらを全て教えてください。
 ・この"材料取り"マクロを書いてある場所を教えてください。
 通常は、この種のマクロは「標準モジュール」(Module1とかModule2とか)に書きますが
 シートモジュールという場所に書かれていることはありませんか?
 ・材料取り.xlsm!材料取り材料取り これを、目を凝らしてみてください。
 ! の右側の材料取り材料取り。この2つの材料取りの間に、 . (ピリオド)はありませんか?
 文字が小さく、仮に、あっても、見えにくいとは思いますが。あるかないかを教えてください。
 
 さて、
 
 >ブック名!というのはプロジェクトエクスプローラの
 >標準モジュールのところの、通常はModule1と表示されている
 >もののことですか。
 
 いえいえ、エクセルブックの名前です。 "材料取り.xlsm" というブックなんですよね。
 
 >モジュール名というのは、プロパティウィンドウの(オブジェクト名)で
 >作成したもののことですか。
 
 標準モジュールですと、それを挿入すれば、Module1とかModule2とか、自動的につけられますね。
 でも、ご存知の通り、そのモジュールを表示させて、プロパティのオブジェクト名に任意の名前をいれて
 変更することができますね。変更したか、していないかにかかわらず、「そのモジュールの名前」です。
 VBE画面の左上のVBAProjectエクスプローラで
 -標準モジュール
 Module1
 Moduke2
 といったように表示されている、その名前です。
 
 で、上に書いたお願いでもふれましたが、
 
 Sub ABC()
 '
 '
 End Sub
 
 こんなマクロがあったとして、通常は、これを「標準モジュール」というところに書きます。
 そうしますと、マクロを表示させると、ABC と表示されます。
 ところが、これを「シートモジュール」というところに書きますと、マクロ表示は
 そのエクセルシート名.ABC となります。
 で、仮に、エクセルシート名が ABC だったとすると、 ABC.ABC となります。
 
 もう1つの可能性としては、前レスで申し上げたように、このABCが「複数の標準モジュール」に
 かかれていた場合、マクロ表示は
 モジュール名.ABC
 モジュール名.ABC
 なので、モジュール名が ABC と変更されているとすれば、ABC.ABC となります。
 でも、これではないような気もします。もし、こうなら、別のモジュール.ABC もマクロ表示に
 でてきているはずですからね。
 
 なんとなく、このマクロは、前者、シートモジュールに書かれているような気がしますが。
 
 |  |