Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA中类和对象名称的区分_Vba_Excel - Fatal编程技术网

VBA中类和对象名称的区分

VBA中类和对象名称的区分,vba,excel,Vba,Excel,我在Excel 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

我在Excel 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(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

问题是
设置直方图=直方图
-设置什么?哪个直方图在左边,哪个在右边事实上,当大多数局部变量获胜时,两者都持有参数值

您可以通过将
Private Histogram..
更改为
Public
来实现现有功能,但显然这会产生后果,或者您也可以使用
CreateSB_Solution
中的间接方法调用私有属性来进行分配

也许最好的解决方案是不要以一开始就可能导致这些类型问题的方式命名事物,简单地改变代码结构以适应更具视觉吸引力的名字是一个坏主意

以下任一选项都可以解决此问题

CreateSB_Solution(fromHistogram As Histogram)

Private CurrentHistogram As Histogram

您不能
设置我。直方图=直方图
,因为您的类属性
直方图
是私有的。请尝试使用与您使用的类型不同的变量名,尝试将
私有pHistogram设置为直方图
,依此类推。。。