シートを削除すると、グローバル変数がなくなる
以下のようなシートがあります。
<Sheet1>
[データ初期化]ボタン:標準モジュールに記述しているPublic変数を設定
[コピー]ボタン:<Sheet2>をワークシートの末尾にコピーし、シート名を"コピー"に変更
<Sheet2>
[データ表示]ボタン:標準モジュールに記述しているPublic変数を表示
[シート削除]ボタン:<Sheet1>を選択し、<コピー>シートを削除
[シート削除]ボタンマクロは、以下の通り
Private Sub cmdDelete_Click()
On Error Resume Next
Worksheets("Sheet1").Select
Application.DisplayAlerts = False
Worksheets("コピー").Delete
Application.DisplayAlerts = True
End Sub
以下のように実行すると、Public変数の内容がすべてなくなってしまいます。
(1)<Sheet1>の[データ初期化]ボタンを押下
(2)<Sheet1>の[コピー]ボタンを押下
→ワークシートの末尾に<Sheet2>をコピー
(3)<コピー>の[データ表示]ボタンを押下
→Public変数を表示
(4)<コピー>の[シート削除]ボタンを押下
→<コピー>削除
(5)<Sheet1>の[コピー]ボタンを押下
→ワークシートの末尾に<Sheet2>をコピー
(6)<コピー>の[データ表示]ボタンを押下
→Public変数の内容がすべてなくなっている
ただし、(4)で、<コピー>シートタブを右クリックして削除して(5),(6)を実行すると、Public変数がきちんと設定されています。
なぜ、消えてなくなるのかわかりません。
宜しくお願いします。
お礼
ありがとうございます。解決しました。