返回列表 上一主題 發帖

[發問] 這種重複值刪除的VBA該如何寫(2003)

[發問] 這種重複值刪除的VBA該如何寫(2003)

EXCEL為2003版本
如果B列有重複就判斷C列是否也相同
不同則不刪除
B.C皆相同則刪除此行 舉例如下
    A     B    C
1  1   P1   B6
2  2   P1   B2
3  3   P1   B6
4  4   P2   B2
5  5   P5   B6

第2行的B為P1 與第1行的B值相同但C不同 不刪除
第3行的B與C和第1行的相同 故刪除
請問VBA該如何寫~謝謝
連刪除B欄重複值都寫不出來~...
例子圖

回復 2# Scott090


RemoveDuplicates這只有2007以上版本才可用
我的版本是2003的
謝謝

TOP

本帖最後由 terrykyo520 於 2015-8-11 11:49 編輯

回復 4# Scott090
我套用下去結果怪怪的~會空一行又 再下一行A列的值跑到B去 B列的值跑到C列 C列的值不見
可否請幫我依這TEST的EXCEL下去看看呢~~謝謝教學~
想要執行後的結果如圖~左執行前~右為執行後

TEST.rar (1.59 KB)

TOP

回復 8# lpk187
謝謝~可以耶~

請問這行的意思是
Cells(Rows.Count, 1).End(xlUp).Row

如果我的產品在第M列 地區在第Q列  資料總共到AD列
是要改成
arr = Range("a2:AD" & Cells(Rows.Count, 1).End(xlUp).Row)

要怎麼修改呢~謝謝

TOP

回復 9# Hsieh

OK可行耶
我只看得懂 Dim A As Range
剩下~好難

如果我的產品在第M列 地區在第Q列  資料總共到AD列
要怎麼修改呢~謝謝

TOP

回復 10# Scott090


    謝謝幫忙~目前我無法下載檔案
    只能先說聲3Q~之後再下載看看寫法~~

TOP

回復 11# GBKEE


這兩種也可以耶~好多方法
如果我的產品在第M列 地區在第Q列  資料總共到AD列
是要改成
Sub Ex()
    Dim R As Range, Rng As Range
    With ActiveSheet.UsedRange
        .Columns("M:Q").AdvancedFilter Action:=xlFilterInPlace, Unique:=True


Sub Ex1()
    Dim Sh As Worksheet, wb As Workbook
    Set Sh = ActiveSheet
    Sh.Copy
    Set wb = ActiveWorkbook
    With wb.Sheets(1)
        .UsedRange.Columns("M:Q").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

改這兩邊嗎~TKS

TOP

        靜思自在 : 有時當思無時苦,好天要積雨來糧。
返回列表 上一主題