到目前为止,我已经设法创建了一个搜索功能,可以扫描列并收集数组中的行。然后我在另一张表中打印数组以形成一个表。我这样做有很多标准,这意味着我得到了不同大小的不同数组。
对于我的问题。我想为每一行做一个计算。 ActiveCell.FormulaR1C1 =" = TRUNC ((RC [-5], RC [-1]) / 7) "
。如何创建一个适应有多少行的循环。在某些地方也存在差距。
以下是如何打印一个数组的示例:
For i = 1 To nS - 1
Sheets("DataSheet").Select
Union(Sheets("raw_list").Cells(arrStart(i), NameCol), Sheets("raw_list").Cells(arrStart(i), PhaseCol), Sheets("raw_list").Cells(arrStart(i), ToStartCol), Sheets("raw_list").Cells(arrStart(i), ToDefineCol), Sheets("raw_list").Cells(arrStart(i), ToMeasureCol), Sheets("raw_list").Cells(arrStart(i), ToAnalyseCol), Sheets("raw_list").Cells(arrStart(i), ToImproveDevCol), Sheets("raw_list").Cells(arrStart(i), ToImproveIndCol), Sheets("raw_list").Cells(arrStart(i), ToControlCol), Sheets("raw_list").Cells(arrStart(i), ToClosedCol)).Copy
Cells(r, 1).Select
ActiveSheet.Paste
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
r = r + 1
Next
感谢任何帮助!
编辑:添加了一张图片以显示它的外观。
答案 0 :(得分:2)
如果存在差距,我们在工作中使用的是一种简单但不那么优雅的解决方案,即在相邻列中添加某种标记。例如,我们在同一行的单元格中添加“END”或类似的东西,但col + 1或col - 1添加到您要比较的列中。
另一个解决方案是查看下一个元素是否也是空白,但只有在您有单个空白时才会起作用。
最后,我看到的最后一个解决方案是,当你处于空白状态时,使用xlDown,如果你在2003年的最后一个单元格65535和2007年接近一百万,如果我的记忆正确,那么你就完成了。