|    | 
     ▼隼 さん: 
 
こんにちは 
 
(隼 さん は 本山中さんですよね。) 
 
まず、私からの返事の前に、以下、お願いします。 
 
次回、レスされる際に 
・マクロを表示させた時に、そのダイアログボックス(マクロ名が表示されている画面のこと)に 
 表示されているマクロが、複数あれば、それらを全て教えてください。 
・この"材料取り"マクロを書いてある場所を教えてください。 
 通常は、この種のマクロは「標準モジュール」(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 もマクロ表示に 
でてきているはずですからね。 
 
なんとなく、このマクロは、前者、シートモジュールに書かれているような気がしますが。 
 | 
     
    
   |