Excel VBA質問箱 IV

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

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


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

【5777】メモリをより使用しないオブジェクトの宣言方法について ラスカル 03/5/30(金) 10:17 質問
【5791】「かるらす」という名で解決済み caution 03/5/30(金) 20:30 発言

【5777】メモリをより使用しないオブジェクトの宣...
質問  ラスカル  - 03/5/30(金) 10:17 -

引用なし
パスワード
   こんにちは。
以前、メモリの解放について投稿しましたが、
未だ完全には解決に至らないためもう一度質問します。

うまくオブジェクトのメモリが解放が出来ていないようです。
それで、メモリをより使用しないようなオブジェクトの宣言方法を
教えてください。

現在、AプロシージャからBプロシージャを呼んでいます。
Aでは、String型の名称しかもっていないので、
それをBに引き渡す際にのみWorksheetにしています。
以下のようです。

Private Sub A
  Dim WS_nm As String

  WS_nm = "Sheet1"
  Call B( ThisWorkbook.Sheets(WS_nm) )
End Sub

Private Sub B (WS As Worksheet)
  ・
  ・
End Sub

この場合、Bでは、WSは新しく生成されているのでしょうか?
B中では、Set WS = Nothing は行っていません。
この場合、メモリはBプロシージャを抜けたあとに解放されているのか・・。

それとも、

Private Sub A'
  Dim WS As WorkSheet

  Call B( WS )
End Sub

と、ワークシートを引数として引き渡した方が、
メモリ使用量はすくないのでしょうか?

また、グローバルに宣言をして、
引数で引き渡すのを止めた方がいいのでしょうか?

どうも、そのあたりのことがよくわかりません。
メモリを少なく使うVBA作成方法などの書いてあるサイトなど
でもよいので、教えてください。

お願いします。

【5791】「かるらす」という名で解決済み
発言  caution  - 03/5/30(金) 20:30 -

引用なし
パスワード
   こちらのかたは、
とあるサイト[かるらす]という名で解決したでゲス。
投稿しても無駄でゲス。

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