| 
    
     |  | ▼りった さん: >Privateで宣言してもオブジェクト毎に変数が作られました。
 >クラスで共通の変数は作れますか?
 共通のClassを用意するしか思い浮かびませんでした。
 
 最悪としては標準モジュールに広域変数を用意して共通の変数にするとか
 も浮かびましたけどさすがにそれは出来ませんね。
 '////////////標準モジュール//////////////
 Sub main()
 Dim cls1 As New Class1
 Dim cls2 As New Class1
 Dim clsData As New Class2
 
 Set cls1.SetCommonCls = clsData
 Set cls2.SetCommonCls = clsData
 
 cls1.SetData = 1
 cls2.SetData = 2
 
 Debug.Print cls1.GetData
 
 End Sub
 
 '///////////Class1///////////////
 Private mcls As Class2
 
 Public Property Set SetCommonCls(pData As Class2)
 Set mcls = pData
 End Property
 Public Property Let SetData(pData As Long)
 mcls.SetData = pData
 End Property
 Public Property Get GetData() As Long
 GetData = mcls.GetData
 End Property
 
 '//////////////Class2///////////////
 Private mData As Long
 
 Public Property Let SetData(pData As Long)
 mData = pData
 End Property
 Public Property Get GetData() As Long
 GetData = mData
 End Property
 
 |  |