Excel VBA如何刪除陣列中重複的值

2022-08-01 13:12:19 字數 4892 閱讀 8728

1樓:匿名使用者

使用集合collection的key唯一性除去重複的值sub a()

dim a(1 to 100)

dim b as new collectiondim i as integer

a(1) = 1

a(2) = 3

a(3) = 5

a(4) = 7

a(5) = 3

a(6) = 5

a(7) = 2

on error resume next

for i = 1 to 100

b.add a(i), str(a(i))next i

for i = 1 to b.count

a(i) = b(i)

next i

end sub

2樓:匿名使用者

不可以。賦值的時候不要重複啊。

3樓:匿名使用者

先對陣列排序

然後定義新陣列(等長的)

用if判斷

vb.net程式如下

dim a(100),b(100) as integer'a陣列賦值

dim j as integer =1

array.sort(a)

b(1) = a(1)

for i as integer =1 to 100if a(i)<> a(i+1) thenj+=1

b(j)=a(i+1)

end if

next

『b(j)就是目標陣列,只是長度還是100,呼叫時最大下標用到j 就行了

excel 用vba如何刪除一列中的重複資料

4樓:匿名使用者

1、開啟要進行資料處理的**,

2、按alt+f11,進入vbe程式操作頁面,3、將滑鼠下移,右鍵彈出如圖,

4、選擇插入-模組,

5、滑鼠向右移動,將如下**寫入:

sub test()

dim d as object

dim r%, i%

dim arr

set d = createobject("scripting.dictionary")

with worksheets("sheet1")r = .cells(.rows.count, 3).end(xlup).row

arr = .range("c2:d" & r)for i = 1 to ubound(arr)d.removeall

for j = 1 to len(arr(i, 1))ch = mid(arr(i, 1), j, 1)d(ch) = ""

next

arr(i, 2) = join(d.keys, "")next

end with

end sub

6、按f5,執行**,後返回工作表,會發現單元格中的重複字元已經被去掉。

5樓:

對於刪除重複資料,excel 2007中有一個功能可以刪除,不需要vba程式設計。

方法:選中重複資料出現的單元格區域→「選單」欄→「資料」→「刪除重複項」→點選「確定」即可如圖:

6樓:宇哲

excel 自帶功能就有刪除重複項啊……

7樓:匿名使用者

option explicit

sub sample()

dim j as integer

dim src as string, dst as string

dim d

set d = createobject("scripting.dictionary")

src = "bg"

dst = "bh"

with activesheet

for j = 1 to .range(src & .rows.count).end(xlup).row

if not d.exists(trim(.range(src & j))) then d.add trim(.range(src & j)), ""

next

.range(dst & 1).resize(d.count) = worksheetfunction.transpose(d.keys)

end with

set d = nothing

end sub

怎麼通過巨集vba**刪除excel中有重複資料的整行?

8樓:嘉文四世丶威威

1、首先開啟需要編輯的excel**,右鍵單擊工作表的標籤,選擇開啟「檢視**」。

2、然後在彈出來的視窗中點選輸入:

sub 刪除重複行()

dim xrow as integer

dim i as integer

xrow = range("b65536").end(xlup).row

for i = 2 to xrow

for j = i + 1 to xrow

if cells(j, 2) = cells(i, 2) then

range(cells(j, 1), cells(j, 256)).rows.delete

j = j - 1

xrow = xrow - 1

end if

next

next

end sub

3、然後點選左上角的儲存按鈕進行儲存,之後執行該**或執行巨集「刪除重複行」即可。

4、然後就可以刪除重複資料的整行。

9樓:

1、進入excel,alt+f11進入vba編輯器。

2、在編輯區輸入vba語言sub macro1(), vba 語言選擇整行整列的語句,end sub。

3、在工作表中插入表單控制元件,並指定到巨集macro1。

4、彈出的新介面中,再次點選」確定「。

5、現在我們來刪除整個**中的重複資料(也叫重複行):滑鼠選中整個資料**,在」資料「選項卡中,選擇」刪除重複項「,在彈出的新介面中,點選」確定「即可。

6、我們發現紅色框標記的資料行只剩下了一條,重複資料的整行刪除了。

10樓:匿名使用者

sub 刪除重複行()

dim xrow as integer

dim i as integer

xrow = range("b65536").end(xlup).row

for i = 2 to xrow

for j = i + 1 to xrowif cells(j, 2) = cells(i, 2) thenrange(cells(j, 1), cells(j, 256)).rows.delete

j = j - 1

xrow = xrow - 1

end if

next

next

end sub

在該工作表標籤上點選滑鼠右鍵,輸入上述**,執行該**或執行巨集「刪除重複行」即可。有個缺陷,只是判斷圖號相同即刪除,假如圖號相同、數量不同的行照樣刪除。

11樓:匿名使用者

if 後面的判斷改成cells(j, 2) = cells(i, 2) and cells(j, 3) = cells(i, 3) and cells(j, 4) = cells(i, 4) 即可

excel vba中怎麼去除一維陣列中重複的資料

12樓:匿名使用者

遍歷陣列,通過字典去除重複資料

如何在excel中刪除重複的行使用vba

13樓:匿名使用者

excel對重複值操作的方法比較多,常見的有以下幾種:

條件格式:選中源資料區域-->開始-->條件格式-->新建規則-->對於唯一值或重複值設定格式-->格式-->選擇一種填充色-->確定,操作完成後,源資料區域所有的重複資料便被標記上了顏色。此方法的優點是源資料區域可以是一個跨行列的陣列區域。

「刪除重複項」功能:資料-->刪除重複項-->以當前選定區域排序-->確定。此方法可以方便快捷的保留非重複資料,但是僅限於單列操作。

公式法:輔助列輸入公式=countif(a1:a10,a1:a10)下拉,然後篩選公式值為1的列。

vba法:輸入如下**:

sub tst()

dim cel1 as range

dim cel2 as range

for each cel1 in usedrange

for each cel2 in usedrange

if cel1 = cel2 and cel1.row > cel2.row then cel2.interior.colorindex = 20

next

next

end sub

excel vba如何刪除陣列中重複的值?

14樓:匿名使用者

使用集合collection的key唯一性除去重複的值sub a()

dim a(1 to 100)

dim b as new collectiondim i as integer

a(1) = 1

a(2) = 3

a(3) = 5

a(4) = 7

a(5) = 3

a(6) = 5

a(7) = 2

on error resume next

for i = 1 to 100

b.add a(i), str(a(i))next i

for i = 1 to b.count

a(i) = b(i)

next i

end sub

在中如何刪除頁首頁尾,在word中如何刪除頁首頁尾?

一怎樣刪除頁首頁尾 雙擊文件裡的頁首或頁尾,就可以進入頁首頁尾的編輯狀態,可以再次編輯,改變頁首頁尾的樣子。在編輯狀態將頁首頁尾裡的內容全部刪除,然後操作選單 格式 樣式和格式 點選 樣式和格式 裡的 清除格式 最後點選 頁首和頁尾 工具條裡的 關閉 退出編輯後頁首和頁尾就被徹底刪除了。二怎樣刪除頁...

如何刪除中的頁首頁尾,如何刪除WORD中的頁首頁尾?

你好!請參考 1刪除頁首頁尾的內容就直接雙擊頁首頁尾,然後刪除裡面的內容。2刪除頁首頁尾中的橫線 方法一 切換到頁首頁尾檢視下,選中頁首所在行,然後在 格式 選單下選擇 邊框和底紋 選項,在彈出的 邊框和底紋 選項卡的 邊框 裡面選擇 無 就可以把那條橫線去掉了。方法二 單擊工具欄上的 格式窗格 按...

如何在中刪除 橫線 ,如何在word中刪除 橫線

最正確最英明答案 點選格式選單,選擇樣式和格式子選單,版面右邊會出現樣式和格式視窗,點選你所說的橫線前面一行或者後面一行,就可以在樣式和格式視窗中看到被描述為 底端 單實線 自動設定 0.75 磅 行寬 的樣式,在此樣式上右鍵選擇刪除,確認後即可刪除。everyting will ok!先 開啟一文...