見出し画像

Excel VBA ver.133|オブジェクト変数とSet・参照解除(Nothing)

【珈琲のオトモのマメ知識 vol.1062】

↓ 前回の内容です


↓ 一応、こちらが順番の前回の内容です


シリーズの昨今は、
変数が続いております

今回も、その変数
で、またまた改めてのおさらい

変数ってのは、
『何かを入れる入れ物』でしたね

で、今回は、その“入れ物”に、
オブジェクトと入れてみます


§『オブジェクト変数』


入れ物という変数に、
オブジェクトを入れますと、

“オブジェクト変数”となります
ごく、当たり前のことを言ってそう

ここで、改めてオブジェクトって?
マクロによって、“何”をどうしたいか?

の、“何”の部分ですね
これがオブジェクト

対象物みたいなことですかね?
なので、今回は、

“入れ物に対象物を入れる”
的なことなんでしょうね

では、早速、基本構文から

Dim 変数名 As オブジェクトの種類

これみたいです
次に、例示ですね

Dim rng As Range

=Range型の変数rngを宣言する

Dim ws As Workshoot

=Workshoot型の変数wsを宣言する

で、今度は代入です
その箱に何かをぶち込むわけです

その基本構文が、

Set 変数名 = 代入するオブジェクト

は?って感じですが、
とりあえず、例示を確認です

Set rng = Range("A1:D5")

=変数rngにセル範囲A1~D5を参照して代入する

Set ws = Workshoots("Sheet1")

=変数wsにSheet1を参照して代入する

こんな感じだそうです
私的には、ハマってない…


§『やってみよう』


実際にコードにしてみましょう

Sub オブジェクト変数()
	Dim rng As Range
	Set rng = Range("A1:B3")
	rng.Value = "VBA"
	Set rng = Nothing
End Sub

1.マクロ【オブジェクト変数】を開始
2.Range型のオブジェクト変数rngを宣言
3.変数rngにセル範囲A1~B3を参照して代入
4.変数rngに文字列VBAを入力
5.変数rngの参照を解除
6.マクロの終了

実行すると、こうなるはず

こんな感じみたいです
これ、重要かもと思ったのが、

“参照”って考え方ですね
ただ代入しているわけじゃなく、

この参照している状態は、
入れ物の“口を開いている状態”

みたいな感じのようです
故に、その状態では、

常に、メモリを消費しているそう
なので、Nothing これを入れている

しなくてもいいみたいですが、
どんどんメモリを浪費していくので、

参照を解除しておかないと、
エラーなどにもなりやすいのかと、

これ、注意かもしれません


§『まとめ』


また、1歩進めた感
今回はあったかも、

というか、ん~と思いながらも、
何となく、わかった感もある回でした

私的な感想ですがね
参照を解除しておくよ

みたいな部分も、
なるほどな、という合点はいった

故に、理解できたかも!
となってわけです

こんな小さな成功体験が重要
勉強においては、大きな励みになりますね!


↓ 次回の内容です


↓ 一応、こちらが順番の次回の内容です


/ ̄ / ̄ / ̄ / ̄ / ̄ / ̄ / ̄ / ̄ / ̄ / ̄ / ̄
合同会社505
リスクマネーリテラシー
ねこのめ事務局
〒460-0003  愛知県名古屋市中区錦1-16-14
HPURL:https://www.riskma505.com/
ʕ •ᴥ•ʔ ʕ·ᴥ·ʔ <相談はお気軽に♪  byリスクマ
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/

いいなと思ったら応援しよう!

マメトモ|リスクマと学ぶお金と暮らし チップ、本当にありがとうございますʕ •ᴥ•ʔ あなたの応援が、次の記事を書く一番の力になります! これからも「むずかしいお金の話を、やさしく」お届けしていくので、よかったらまた遊びに来てください!

この記事が参加している募集