過去ログ

                                Page     138
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼変数の初期化  wooder 02/9/27(金) 14:30
   ┗Re:変数の初期化  Nakamura 02/9/27(金) 16:04
      ┗Re:変数の初期化  wooder 02/9/27(金) 17:54

 ───────────────────────────────────────
 ■題名 : 変数の初期化
 ■名前 : wooder <ueyama-es@ams.odn.ne.jp>
 ■日付 : 02/9/27(金) 14:30
 -------------------------------------------------------------------------
   public で変数を設定し、コードを実行し結果が出た後もう一度、実行すると
特定の変数に値が残ったままになります。
 なぜ、変数の初期化がされないのですか?
使用例
  モジュール1に public ruikei(2,4) を設定
  モジュール2に ruikei(i,h)=ruikei(i,h)+セルの値
  モジュール3に セルアドレス=ruikei(i,h)
 ───────────────────────────────────────  ■題名 : Re:変数の初期化  ■名前 : Nakamura  ■日付 : 02/9/27(金) 16:04  -------------------------------------------------------------------------
   ▼wooder さん:
>public で変数を設定し、コードを実行し結果が出た後もう一度、実行すると
>特定の変数に値が残ったままになります。
> なぜ、変数の初期化がされないのですか?
>使用例
>  モジュール1に public ruikei(2,4) を設定
>  モジュール2に ruikei(i,h)=ruikei(i,h)+セルの値
>  モジュール3に セルアドレス=ruikei(i,h)

こんにちは

それは、Public で変数を宣言しているからです。
Publicで宣言すると、シート、標準、ユーザーフォームの各モジュールで
共通に使える変数になります。
例えば、標準モジュールで計算した結果をユーザーフォームで使いたい
又は、違うモジュールで使いたい場合などに使います。
試しに、DimやPrivateで宣言してみて下さい。
Option Explicitが記述して有れば、モジュール2,3はエラーとなりますし
そうでなければ、”セルアドレス”には何も入りません。
初期化したいのであれば、

Erase ruikei

として下さい。
それでは
 ───────────────────────────────────────  ■題名 : Re:変数の初期化  ■名前 : wooder <ueyama-es@ams.odn.ne.jp>  ■日付 : 02/9/27(金) 17:54  -------------------------------------------------------------------------
   >初期化したいのであれば、
>
>Erase ruikei
>

publicで宣言すると値が残るのですね。知りませんでした。
”erase ”を使用して問題解決しました。

ありがとう御座いました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 138