2017-03-09 3 views
1

私はExcel VBAで作業しています。VBAのクラス名とオブジェクト名を区別する

このプロパティは、プライベートヒストグラム

Private Histogram As Histogram 
Public Property Let CreateSB_Solution(DataSet As Histogram) 
    Set Histogram = DataSet 
End Property 

を設定し、このプロパティは

Private Histogram As Histogram 
Public Property Let CreateSB_Solution(Histogram As Histogram) 
    Set Histogram = Histogram 
End Property 

プライベートヒストグラムを設定していない私は、私はいくつかの小さなニュアンスをしないのです知っているが、それを見つけるために、適切な検索条件を見つけることができません。

これはコンパイルされません。メソッドまたはデータメンバーが見つかりません。

Private Histogram As Histogram 
Public Property Let CreateSB_Solution(Histogram As Histogram) 
    Set Me.Histogram = Histogram 
End Property 
+0

クラス属性「ヒストグラム」がプライベートであるため、「Me.Histogram = Histogram」を設定できません。 – CommonSense

+1

あなたが使用するタイプとは異なる変数名を使用しようとすると、 'Private pHistogram As Histogram'などを試してみてください... –

答えて

1

問題はSet Histogram = Histogramです。何が設定されていますか?どのヒストグラムが左側にあり、どちらが右側にありますか? - 現実には、どちらの引数も、最もローカルな変数が勝つので、値を保持します。

あなたがPublicPrivate Histogram ..を変更することで作業を持っているものを作ることができますが、これは明らかに影響を持っている、またはあなたが割り当てを行うために私有財産を呼び出すためにCreateSB_Solution内間接を使用することができます。

おそらく最も良い解決策は、最初にこれらのタイプの問題につながるような方法で名前を付けることではなく、単に視覚的に魅力的なモニカに対応するようにコードの構造を変更することです。

いずれかの問題が修正されます。

CreateSB_Solution(fromHistogram As Histogram) 

Private CurrentHistogram As Histogram 
関連する問題