エクセルマクロVBA

変数に値を入れる

投稿日:

変数に値を入れることを「代入(だいにゅう)」とよびます。

 

[書式]

変数名 = 値

 

変数に値を代入するには=(イコール演算子)を使用します。

ここで「=」は等しいという意味ではなく、

「右辺の値を左辺の変数に代入する」という意味になります。

 

 

[]

ワークシート = ActiveSheet.Name

 

「ワークシート」という名前の変数にアクティブシートの名前を代入しています。

 

 

■オブジェクト型変数に値を入れる

 

[書式]

Set 変数名 = オブジェクト

 

オブジェクト型変数への代入の場合は最初に「Set」と記述します。

 

 

[]

Set ワークシート = Worksheets(3)

 

ブック内の左から3番目のワークシートオブジェクトを変数「ワークシート」に代入しています。

 

■オブジェクトの解放 

オブジェクト型変数が何も参照していない状態にすることをオブジェクトの解放といいます。

オブジェクトを解放するには変数に「Nothing」を代入することでその変数は何も参照していない状態になります。

 

Set ワークシート = Nothing

 

[サンプルC096]

Sub C096()

 

Worksheets(“C096”).Select

 

オブジェクト型以外の場合

 

Dim 名前 As String            

名前 = ActiveSheet.Name        

MsgBox 名前                

 

 

オブジェクト型の場合

 

Dim ワークシート As Worksheet        

Set ワークシート = Worksheets(“C096”)    

MsgBox ワークシート.Name            

Set ワークシート = Nothing            

 

End Sub

 

 

Dim 名前 As String            

「名前」という名前のString型(文字列型)の変数を宣言しています。

 

名前 = ActiveSheet.Name        

宣言した変数「名前」にアクティブシートのシート名を代入しています。

 

MsgBox 名前                

変数「名前」に入っている内容をメッセージボックスで表示しています。


 

 

Dim ワークシート As Worksheet        

「ワークシート」という名前のWorksheetオブジェクト型変数を宣言しています。

 

Set ワークシート = Worksheets(“C096”)    

宣言した変数「ワークシート」にワークシート名「C096」のワークシートオブジェクトを代入しています。

 

MsgBox ワークシート.Name            

変数「ワークシート」に対してNameプロパティを指定し、ワークシートオブジェクトの

ワークシート名をメッセージボックスで表示しています。



 

Set ワークシート = Nothing            

最後に変数「ワークシート」のオブジェクトを解放しています。




動画で楽にパソコンが身につく方法はこちら>>

-エクセルマクロVBA

Copyright© エクセルVBA使い方入門 , 2020 All Rights Reserved Powered by STINGER.