- ベストアンサー
エクセルVBAのSETステートメントについて
- エクセルVBAのSETステートメントについての要約文1
- エクセルVBAのSETステートメントについての要約文2
- エクセルVBAのSETステートメントについての要約文3
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Setステートメントの使い方 Setはオブジェクト変数にオブジェクトを(ゲンミツにはオブジェクトへの参照を)格納する命令です。 オブジェクト変数ではない変数に値を格納するにはLetステートメントが一応用意されていますが,通常は省略します。 >nothingの対応 set xx = nothingで開放されるのは「マクロ実行時点での(実行中の)メモリ使用量」です。その命令がマクロとして書いてあってもなくても,ファイルサイズには影響しません。 >ファイルサイズ 一般に分かりやすいアプローチとしては,色々削って保存し直してみて,ファイル容量がどれだけ削減できたか確認してみます。 ○登録したマクロを全てModuleごと削除して保存し直してみる ○ワークシートを適当に(1まいずつ,あるいは複数枚)シート自体を削除して保存し直してみる ファイル容量に直接インパクトするワークシートなどが発見できたら,こんどはそのシートの中の一体何が容量を持っているのか更に確認します。 たとえばそのシートだけ「最後のセル」の確認を怠っていたとか,画像オブジェクト(画像や図形類)が沢山残っていたなんて事情かも?しれません。
その他の回答 (1)
- ShowMeHow
- ベストアンサー率28% (1424/5027)
(1)省略されているだけだと思います。 http://msdn.microsoft.com/ja-jp/library/6b85bc00(v=vs.80).aspx (2)ファイルサイズは減りません。 実行時のメモリ使用量は微妙に減る可能性については、ないとは言い切れません。 どちらかというと、お行儀の問題だと思います。 「ご飯を食べ終わったらご馳走様という」みたいな。(「トイレを使ったら流すのほうが適切なたとえだ」と言う人もいますが。) ま、エクセルをほとんど使ったことのない素人の前に「ど」がつく人間の意見ですけど。
お礼
この度は早々にご回答を頂きましてありがとうございました。
お礼
SETステートメントは、やはりオブジェクト変数に対してのみなのですね。 分かり易い説明を頂き、ありがとうございました。 set xx = nothing についても的を得た説明、ありがとうございました。 当ファイルはサイズが大きいわりに処理速度はあまり遅くないので あえて set xx = nothing を多用する必要はないのですね。 ファイルサイズの削減に関しても色々と試してみます。