我有一个表(listobject类型的表)。我对它进行了分类,过滤并查看了表格。一切都很好。现在我试图枚举......
其中
在下面的循环中,临时范围对象返回正确的行号。此行号是表单显示的数字。例如,表中的第一个数据行位于工作表第5行。除了一个单行外,其中许多工作表和表对象返回相同的值。在他们没有的单个实例中,工作表是正确的。只有30或40行中的一个错误。这不是终点错误。它发生在桌子中间。错误之前似乎没有什么独特之处。实际上,oRg_tmp.row报告的行值会发生变化并指向正确的行!
这个结构是否正确?还有其他代码包含用于测试目的,只是为了表明我得到的确实是“正确的”
For Each oRg_tmp In oLO_maTable.DataBodyRange.Rows.SpecialCells(xlCellTypeVisible).Rows
Set oRg_maOwer = oLO_maTable.Range.Cells(oRg_tmp.row, colndx_ma_it_owner)
Set oRg_maGLDept = oLO_maTable.Range.Cells(oRg_tmp.row, colndx_ma_gl_dept)
ma_owner = oRg_maOwer.Value2
ma_gl_dept = oRg_maGLDept.Value2
ma_owner_ws = oWs_ma.Cells(oRg_tmp.row, colndx_ma_it_owner).Value2
ma_gl_dept_ws = oWs_ma.Cells(oRg_tmp.row, colndx_ma_gl_dept).Value2
...
Next
如果构造正确,则解决了这个问题。我将使用工作表。
感谢。