|
本帖最后由 hw124739523 于 2024-5-22 10:25 编辑
我在VBA里建了一个类模块,类模块命名为“单元格记录集”,并存放以下代码。
- Public WithEvents rs As ADODB.Recordset
- Private Sub Class_Initialize()
- ' 创建记录集对象
- Set rs = New ADODB.Recordset
- End Sub
- Private Sub Class_Terminate()
- ' 销毁记录集对象
- Set rs = Nothing
- End Sub
- Public Sub OpenRecordset(CellRange As Range)
- ' 打开记录集
- rs.Open "SELECT * FROM [" & CellRange.Worksheet.Name & "$" & CellRange.Address & "]", _
- "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";", _
- adOpenStatic, adLockReadOnly, adCmdText
- End Sub
复制代码 已经引用了如下对象:
在另一窗体事件中,想调用类模块,报错的代码在第5行
- Private Sub TreeView2_NodeClick(ByVal Node As MSComctlLib.Node)
- Dim rs As New 单元格记录集
- endrow = Worksheets("②计划管理").Range("a65536").End(3).Row
- rs.OpenRecordset Worksheets("②计划管理").Range("A3:U" & endrow) ' 打开表格区域作为记录集的数据源
- ' 遍历记录集并输出数据
- Do While Not rs.rs.EOF
- Debug.Print rs.rs.Fields(0).Value, rs.rs.Fields(1).Value
- rs.rs.MoveNext
- Loop
- rs.rs.Close ' 关闭记录集
- End Sub
复制代码 最后在测试的时候报错如下:
|
|