我正在尝试编写一个聚合函数,它执行与sort相当的unix uniq -c。基本上在一列中对(唯一)值进行排序,并在另一列中聚合相应的值。我已经使用数组来做这个,我的输出数组就准备好了。但我无法更新单元格。
这是我的代码:
For i = LBound(uniqvals) To UBound(uniqvals)
Cells(i + 1, optuniqvals).Value = uniqvals(i) 'using index passed as parameter
Cells(i + 1, optaggrvals).Value = totalamts(i) ' using index passed as parameter
在查看了http://www.excel-easy.com等链接以及此论坛中的其他帖子后,我将代码更改为:
ActiveSheet.Cells(i + 1, optuniqvals).Locked = False
ActiveSheet.Cells(i + 1, optuniqvals).Value = uniqvals(i)
但是功能在第2行退出。它运行一行.Locked = False但奇怪的是没有将Locked标志设置为False(当我'看'时它仍然是True)。 我还有什么办法来更新细胞吗?