Excel VBA質問箱 IV

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

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


9265 / 13646 ツリー ←次へ | 前へ→

【28189】Set へなちょこ 05/8/30(火) 17:09 質問[未読]
【28197】Re:Set ichinose 05/8/30(火) 18:29 発言[未読]
【28314】Re:Set へなちょこ 05/9/2(金) 13:29 質問[未読]
【28357】Re:Set ichinose 05/9/3(土) 11:16 発言[未読]

【28189】Set
質問  へなちょこ  - 05/8/30(火) 17:09 -

引用なし
パスワード
   超初心者です。

Set をグローバル変数みたいにどこでも使えるようにしたいのですが、
どのように宣言すればよいでしょうか?

【28197】Re:Set
発言  ichinose  - 05/8/30(火) 18:29 -

引用なし
パスワード
   ▼へなちょこ さん:
>超初心者です。


>Set をグローバル変数みたいにどこでも使えるようにしたいのですが、
>どのように宣言すればよいでしょうか?

うーん、やりたい事がわかりません。

public aaa as variant
のようにSetをどこでも使えるようにしたい・・・?
Set自体はどこでも使用可能です。

これが出来るようになるとどんな
利便性があるんでしょうか?
例をあげて説明して下さい。

【28314】Re:Set
質問  へなちょこ  - 05/9/2(金) 13:29 -

引用なし
パスワード
   >うーん、やりたい事がわかりません。
>
>public aaa as variant
>のようにSetをどこでも使えるようにしたい・・・?
>Set自体はどこでも使用可能です。
>
>これが出来るようになるとどんな
>利便性があるんでしょうか?
>例をあげて説明して下さい。


  Set SH1 = Sheets("AAA")
  Set SH2 = Sheets("BBB")

SH1 と SH2 をいろんなプロシジャーで使ってるんですけど、
プライベート変数みたいに一度宣言して、どこでも使えるように
できないですか?

今は、毎回同じSetしています?

【28357】Re:Set
発言  ichinose  - 05/9/3(土) 11:16 -

引用なし
パスワード
   ▼へなちょこ さん:
おはようございます。

>>public aaa as variant
>>のようにSetをどこでも使えるようにしたい・・・?
>>Set自体はどこでも使用可能です。
>>
>>これが出来るようになるとどんな
>>利便性があるんでしょうか?
>>例をあげて説明して下さい。
>
>
>  Set SH1 = Sheets("AAA")
>  Set SH2 = Sheets("BBB")
>
>SH1 と SH2 をいろんなプロシジャーで使ってるんですけど、
>プライベート変数みたいに一度宣言して、どこでも使えるように
グローバル変数とおっしゃったり、プライベート変数とおしゃったり
ちょっと心配ですが・・・。


グローバル変数とは
 VBAでは、

public sht1 as worksheet
sub set_init_data()
  set sht1=worksheets("AAA")
end sub

例えば、標準モジュールで上記のように宣言し、
set_init_data()を一度実行すれば、
他のどのモジュールのプロシジャーでも

sht1は、worksheets("AAA")の参照変数として使用可能です(原則として)。

これをプライベート変数を使用すると

Private sht1 as worksheet
sub set_init_data()
  set sht1=worksheets("AAA")
end sub

とすれば、set_init_data()を実行後、
このモジュール内のプロシジャーで
参照可能になります。

ちなみに

Const aa=1515

のようなことは できませんよ!!
これは、定数ですから・・。

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