刪除重複有人可以請給我一些指點就如何解決以下問題:VBA,從陣列
假設我有數據,在Excel 2010塊,100行3列。
C列包含一些重複,說這開始了1,1,1 2,3,4,5,...,97,98
使用VBA,我想刪除根據列C重複行,以便我留下1,2,3,.....,97,98,即只有98行和3列。
我知道有一個按鈕,我可以在Excel 2010中點擊來做到這一點,但我想在VBA中做到這一點(因爲我試過這個,出於某種原因,隨後與我的其他代碼互相干擾,並給出錯誤結果)。
此外,我想這樣做的陣列,然後將結果粘貼在工作表上,而不是方法,如Application.Worksheetfunction.countif(.....
因此,像:
。Dim myarray() as Variant
myarray=cells(1,1).Currentregion.value
Dim a as Long
For a=1 to Ubound(myarray,1)
'something here to
Next a
這會從工作表中刪除實際的行,而問題是刪除VBA中的重複項。另外,任何行刪除都應該始終從下往上進行,以避免跳過行 – brettdj 2012-08-08 23:12:36
@brettdj這兩個代碼位都可以刪除重複項。提交者希望在VBA中完成它,最好是使用數組(在這種情況下,他/她可以輕鬆地修改循環以遍歷數組的行而不是範圍,然後僅將獨特的元素添加到單獨的數組中)。如果你看看代碼,你會發現行刪除確實是自下而上的('rowCount'得到遞減)。 :) – Zairja 2012-08-09 13:00:34
那麼問題是標題* VBA,從陣列*刪除重複。你提出一個很好的觀點,即你的代碼在你使用'.Count'的時候確實是自下而上的,儘管在這種情況下提問者可能需要指定第一次出現應該保留在頂部還是底部。 – brettdj 2012-08-10 00:39:20