今天碰到的乙個問題,刪除重複資料,這裡做個記錄。
一列資料,有很多重複專案,現在需要刪除重複的,如下圖所示:
簡單的方法是,選中該列,
工具欄「資料」專案中選擇「刪除重複項」:
按下確定:
按下確定完成重複專案的清理:
那麼從vba的角度如何刪除資料:
測試用新增資料如下:
sub adddata() '
dim i as long
dim j as integer
dim rndid as long
dim rndhex as string
dim rndvalue as string
randomize
for i = 2 to 10000
rndvalue = ""
for j = 1 to 4
rndid = rnd() * 25 + 65
rndhex = chr(rndid)
rndvalue = rndvalue & rndhex
next
sheets("sheet1").range("a" & i).value = rndvalue
next
end sub
獲得不重複的資料**如下:
sub getdata()
dim i as long
dim currentvalue as string
dim pos as long
pos = 3
for i = 2 to 10000
currentvalue = sheets("sheet1").range("a" & i).value
if i > 2 then
set c = sheets("sheet1").range("a2:a" & cstr(i - 1)).find(currentvalue)
if c is nothing then
sheets("sheet1").range("b" & pos).value = currentvalue
pos = pos + 1
end if
else
sheets("sheet1").range("b" & pos).value = currentvalue
end if
doevents
next
end sub
需要注意的是:**中加入 doevents,資料量大的時候,防止假死。
採用excel本身提供的「刪除重複項」功能速度比**快得多,但是不易控制。用vba更能適應更多的情況。
學習更多vb.net知識,請參看vb.net 教程 目錄
刪除表中重複資料
刪除表中重複資料 取出line fancy2表中fancy name相同的最小fancy id 寫進tmp表 create table tmp as select min fancy id as col1 from line fancy2 group by fancy name 刪除line fan...
刪除表中重複資料
如果重複資料很多,被刪掉的可能是大部分記錄,業務又允許的情況下,可以考慮重建表 create table newtable as select distinct from table rename table to oldtable rename newtable to table create i...
刪除重複資料
介紹兩種刪除重複行的方式 1.使用臨時表,分組找出重複部分的id進行刪除 刪除table goods info 中存在重複goods id的記錄 select identity int,1,1 as autoid,into temptable from goods info select min a...