Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1849 / 13645 ツリー ←次へ | 前へ→

【71504】マクロ名の変更の仕方 本山中 12/3/13(火) 11:58 質問[未読]
【71505】Re:マクロ名の変更の仕方 UO3 12/3/13(火) 12:09 発言[未読]
【71507】Re:マクロ名の変更の仕方 本山中 12/3/13(火) 12:41 お礼[未読]
【71511】Re:マクロ名の変更の仕方 めいぷる 12/3/13(火) 15:14 回答[未読]
【71513】Re:マクロ名の変更の仕方 本山中 12/3/13(火) 16:57 お礼[未読]
【71519】Re:マクロ名の変更の仕方 UO3 12/3/14(水) 10:53 発言[未読]
【71524】Re:マクロ名の変更の仕方 12/3/14(水) 14:52 お礼[未読]
【71525】Re:マクロ名の変更の仕方 UO3 12/3/14(水) 16:42 発言[未読]
【71526】Re:マクロ名の変更の仕方 UO3 12/3/14(水) 17:35 発言[未読]
【71527】Re:マクロ名の変更の仕方 12/3/15(木) 6:13 お礼[未読]
【71512】Re:マクロ名の変更の仕方 UO3 12/3/13(火) 15:51 発言[未読]

【71504】マクロ名の変更の仕方
質問  本山中  - 12/3/13(火) 11:58 -

引用なし
パスワード
   現在マクロを表示させると、マクロ名が
「材料取り.xlsm!材料取り材料取り」
となっています。
「材料取り.xlsm!材料取り材料取り」を選択→編集→VBEのコードウィンドウの
Subの次の名称を「材料取り」に変更→マクロを表示
しても変化が無く、「材料取り.xlsm!材料取り材料取り」のままです。
マクロ名の変更の仕方を教えてください。
宜しくお願いいたします。
最後にお礼を述べる方法ですが、「返信」をクリックしてお礼を述べると
UPされるのでしょうか。

【71505】Re:マクロ名の変更の仕方
発言  UO3  - 12/3/13(火) 12:09 -

引用なし
パスワード
   ▼本山中 さん:

今、手元に2003しかないので確認できていませんが
マクロを表示させて 材料取り.xlsm!材料取り材料取り となっているものを選んで
「ステップイン」ボタンをおすと、どのプロシジャが黄色くハイライトされているでしょうか?

>最後にお礼を述べる方法ですが、「返信」をクリックしてお礼を述べると
>UPされるのでしょうか。

投稿欄のボックスの上のほうに「種別」コンボボックスがありますので、その中から選びます。

【71507】Re:マクロ名の変更の仕方
お礼  本山中  - 12/3/13(火) 12:41 -

引用なし
パスワード
   ▼UO3 さん:
さっそくの回答をありがとうございます。
私はExcell2007です。
ステップインすると Sub 材料取り() が黄色く
ハイライトしています。
>▼本山中 さん:
>
>今、手元に2003しかないので確認できていませんが
>マクロを表示させて 材料取り.xlsm!材料取り材料取り となっているものを選んで
>「ステップイン」ボタンをおすと、どのプロシジャが黄色くハイライトされているでしょうか?
>
>>最後にお礼を述べる方法ですが、「返信」をクリックしてお礼を述べると
>>UPされるのでしょうか。
>
>投稿欄のボックスの上のほうに「種別」コンボボックスがありますので、その中から選びます。

【71511】Re:マクロ名の変更の仕方
回答  めいぷる  - 12/3/13(火) 15:14 -

引用なし
パスワード
   ▼本山中 さん:
>現在マクロを表示させると、マクロ名が
>「材料取り.xlsm!材料取り材料取り」
 <Book名>!<モジュール名>.<マクロ名> 
です。

>「材料取り.xlsm!材料取り材料取り」を選択→編集→VBEのコードウィンドウの
>Subの次の名称を「材料取り」に変更→マクロを表示
>しても変化が無く、「材料取り.xlsm!材料取り材料取り」のままです。
上記は、<Book名>!<モジュール名>.<マクロ名>の
<マクロ名>の部分を「材料取り」→「材料取り」に変更しているので
変化が無いのは当然かと・・・。

>マクロ名の変更の仕方を教えてください。
何をどのように変更したいのでしょうか?
<モジュール名>の部分の「材料取り」を変更するのであれば、
プロパティウィンドウのオブジェクト名のところを変更すればよいのでは?

【71512】Re:マクロ名の変更の仕方
発言  UO3  - 12/3/13(火) 15:51 -

引用なし
パスワード
   ▼本山中 さん:

こんにちは

めいぷるさんの <Book名>!<モジュール名>.<マクロ名> 

あぁ、そういうことでしたか。
材料取り.xlsm!材料取り材料取り と書いておられましたが
材料取り.xlsm!材料取り.材料取り なんでしょうか?

通常は、プロジェクト内に同名のパブリックプロシジャは1つでしょうから
マクロ表示すると、単に、そのプロシジャ名がでますね。
で、そのエクセルに、今、アクティブにしているマクロブック以外のマクロブックがあれば
マクロ表示では、自身のプロシジャは、通常に表示されますが、アクティブでないマクロブックの
プロシジャは、そのブック!プロシジャ名 と表示されます。
また、1のマクロブックの中の別モジュールに同名のプロシジャ名があれば、マクロ名表示は
モジュール名A.プロシジャ名
モジュール名B.プロシジャ名
と、このようにモジュールが付加されて表示されます。
(2007でも同じだと思うんですが)
このプロシジャが記載されているモジュールのモジュール名は"材料取り"なんでしょうかね?
であれば、「材料取り.xlsm!材料取り.材料取り と表示されるのが「正しい」というケースはありますよね。

・今、表示されているブックが材料取り.xlsmではなく、その材料取り.xlsmに複数のモジュールがあって
 そのいずれにも、"材料取り" というプロシジャが記載されている場合。

ただ、この場合(そして、質問を投稿されたその時から)、マクロ名を表示させた時、
いくつもマクロ名がでてきていませんか?
その中に、同名のプロシジャがありませんか?

【71513】Re:マクロ名の変更の仕方
お礼  本山中  - 12/3/13(火) 16:57 -

引用なし
パスワード
   ▼めいぷる さん:
回答をありがとうございます。
>何をどのように変更したいのでしょうか?
プロジェクトエクスプローラの標準モジュールの下流の名称=
プロパティウィンドウ(オブジェクト名)=コードウィンドウの
Subの次に来る名称=マクロ名=材料取り としたいのです。

>▼本山中 さん:
>>現在マクロを表示させると、マクロ名が
>>「材料取り.xlsm!材料取り材料取り」
> <Book名>!<モジュール名>.<マクロ名> 
>です。
>
>>「材料取り.xlsm!材料取り材料取り」を選択→編集→VBEのコードウィンドウの
>>Subの次の名称を「材料取り」に変更→マクロを表示
>>しても変化が無く、「材料取り.xlsm!材料取り材料取り」のままです。
>上記は、<Book名>!<モジュール名>.<マクロ名>の
><マクロ名>の部分を「材料取り」→「材料取り」に変更しているので
>変化が無いのは当然かと・・・。
>
>>マクロ名の変更の仕方を教えてください。
>何をどのように変更したいのでしょうか?
><モジュール名>の部分の「材料取り」を変更するのであれば、
>プロパティウィンドウのオブジェクト名のところを変更すればよいのでは?

【71519】Re:マクロ名の変更の仕方
発言  UO3  - 12/3/14(水) 10:53 -

引用なし
パスワード
   ▼本山中 さん:

>プロジェクトエクスプローラの標準モジュールの下流の名称=
>プロパティウィンドウ(オブジェクト名)=コードウィンドウの
>Subの次に来る名称=マクロ名=材料取り としたいのです。

ですから、コードそのものは、直っているんですよね。
(ステップ実行したら、ちゃんと直っている名前のプロシジャに飛びましたよね)

ということは、マクロ名の表示の話ではないのですか?
ブック名!モジュール名.マクロ名
これらが、同じなので
材料取り.xlsm!材料取.材料取り
と表示されているのでは?

【71524】Re:マクロ名の変更の仕方
お礼    - 12/3/14(水) 14:52 -

引用なし
パスワード
   ▼UO3 さん:
初心者なので済みません。
ブック名!というのはプロジェクトエクスプローラの
標準モジュールのところの、通常はModule1と表示されている
もののことですか。
モジュール名というのは、プロパティウィンドウの(オブジェクト名)で
作成したもののことですか。
>▼本山中 さん:
>
>>プロジェクトエクスプローラの標準モジュールの下流の名称=
>>プロパティウィンドウ(オブジェクト名)=コードウィンドウの
>>Subの次に来る名称=マクロ名=材料取り としたいのです。
>
>ですから、コードそのものは、直っているんですよね。
>(ステップ実行したら、ちゃんと直っている名前のプロシジャに飛びましたよね)
>
>ということは、マクロ名の表示の話ではないのですか?
>ブック名!モジュール名.マクロ名
>これらが、同じなので
>材料取り.xlsm!材料取.材料取り
>と表示されているのでは?

【71525】Re:マクロ名の変更の仕方
発言  UO3  - 12/3/14(水) 16:42 -

引用なし
パスワード
   ▼隼 さん:

こんにちは

(隼 さん は 本山中さんですよね。)

まず、私からの返事の前に、以下、お願いします。

次回、レスされる際に
・マクロを表示させた時に、そのダイアログボックス(マクロ名が表示されている画面のこと)に
 表示されているマクロが、複数あれば、それらを全て教えてください。
・この"材料取り"マクロを書いてある場所を教えてください。
 通常は、この種のマクロは「標準モジュール」(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 もマクロ表示に
でてきているはずですからね。

なんとなく、このマクロは、前者、シートモジュールに書かれているような気がしますが。

【71526】Re:マクロ名の変更の仕方
発言  UO3  - 12/3/14(水) 17:35 -

引用なし
パスワード
   一部訂正します

>ところが、これを「シートモジュール」というところに書きますと、マクロ表示は
>そのエクセルシート名.ABC となります。
>で、仮に、エクセルシート名が ABC だったとすると、 ABC.ABC となります。

「そのエクセルシート名.ABC」これは間違っていました。
ただしくは、
そのエクセルシートのシートコード名.ABC  です。
通常はシートができた順番に SHeet1,Sheet2,Sheet3 とわりふられ
たとえシート目一が変更になっても、このシートコード名は変更されません。
(結婚して姓がかわっても、旧姓はかわらないようなものです)

ただ、このシートコード名も、VBE画面でシートモジュールを選んでプロパティで
変更することができます。
ですので、そのように ABC と変更したとすれば ABC.ABC となるというのが正確な表現でした。

【71527】Re:マクロ名の変更の仕方
お礼    - 12/3/15(木) 6:13 -

引用なし
パスワード
   ▼UO3 さん:
回答に感謝します。
こちら初心者のため、せっかく回答をいただいても、
説明文の内容がいまいち理解できません。
自分自身のレベルを今一度アップさせてから、
出直したいと思います。
色々とありがとうございました。
>一部訂正します
>
>>ところが、これを「シートモジュール」というところに書きますと、マクロ表示は
>>そのエクセルシート名.ABC となります。
>>で、仮に、エクセルシート名が ABC だったとすると、 ABC.ABC となります。
>
>「そのエクセルシート名.ABC」これは間違っていました。
>ただしくは、
>そのエクセルシートのシートコード名.ABC  です。
>通常はシートができた順番に SHeet1,Sheet2,Sheet3 とわりふられ
>たとえシート目一が変更になっても、このシートコード名は変更されません。
>(結婚して姓がかわっても、旧姓はかわらないようなものです)
>
>ただ、このシートコード名も、VBE画面でシートモジュールを選んでプロパティで
>変更することができます。
>ですので、そのように ABC と変更したとすれば ABC.ABC となるというのが正確な表現でした。

1849 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free