excel - VBA:无法在类中设置结构的变量
问题描述
我有一个类,实现了两个接口,一个接口用于正常使用,一个接口只显示一个函数来创建具有初始参数的类。该类有一个字段,它是一个结构,其中包含两个变量,我使用类的 Get 属性来获取结构,然后使用点符号访问结构中的字段,然后我试图将其设置为一个数字,但它永远不会起作用。如果我尝试使用类中的私有变量访问结构,它可以工作,但我希望保持一致并且只使用属性在Create
函数中修改它。
Public Function Create(WorksheetName As String, Optional CurrentRow As Long = 4) As ISheetInfo
With New clsSheetInfo
Set .WS = ThisWorkbook.Worksheets(WorksheetName)
Set .Cols = CreateColumnDictionary(.WS, 3)
Let .Rows.Current = CurrentRow
Let .Rows.Final = .WS.Cells(.WS.Rows.Count, 1).End(xlUp).Row
Set Create = .Self
End With
End Function
当我单步执行时,它首先转到此属性(RowData
是具有两个字段的 UDT,.Current
并且.Final
:
Property Get Rows() As RowData
Rows = pRows
End Property
但是后来赋值后,.Rows.Current
还是0,不知道为什么。
解决方案
推荐阅读
- javascript - 学习react-native是不是一定要知道reactjs?
- android - android 中的 XML 文件显示奇怪的符号,如 �(查看详细信息)
- node.js - 使用 node.js 创建 REST API 的最佳实践
- apache-camel - Camel - 基于 HTTP 请求内容的重定向
- ios - 如何使用 alamofire 发出这个 HTTP Post 请求?
- excel - R1C1 公式结果给出给定变量的两倍
- powershell - 基于特定扩展名的文件大小
- google-apps-script - 在执行脚本之前等待公式完成
- sql - 从 SELECT 语句的字段列表中的子查询返回 COUNT
- docker - Docker 和 hyper-v 问题