使用案例:我想從塔A的數據複製到柱B(其中A列,B是任意的列)。一旦數據是在列B,我想刪除列B.Excel中跨100+表標籤限定範圍,刪除重複在列100個+表
內重複條目使一個循環,從柱A移動數據到柱B,然後對每個片材在工作簿中刪除重複。
`Sub Copy()
For i = 1 To Sheets.Count
Worksheets(i).Range("A1:A100")
Destination:=Worksheets(i).Range("B1")
Next
End Sub
`
爲了測試我將任務分成兩個不同的Sub()。 Sub Copy()
正在工作並正確地複製我的數據。 Sheet1中也命名爲「工作表Sheet1」我的具體工作簿
`Sub RemoveStuff()
Dim rng As Range
For j = 1 To Sheets.Count
Set rng = Worksheets("Sheet1").Range(Range("B1"),Range("B1").End(xlDown)).Select
rng.RemoveDuplicates Columns:=(1), Header:=xlGuess
Next
End Sub
`
我的錯誤似乎是正確地定義範圍。每張表都有不同數量的條目以刪除重複項。 Sheet1可能有50行並減少到6. Sheet2可以有70個並減少到3. Sheet3可以有20行並減少到12個唯一。 Excel不允許從範圍中刪除重複項(B:B!)
如何正確定義我的範圍,以便可以爲每個工作表的動態定義的範圍(工作表中的工作表中的選項卡)刪除循環中的重複項?
編輯17年2月23日 從Y0wE3K
Sub RemoveStuff() Dim ws As Worksheet For Each ws In Worksheets ws.Columns("P:P").RemoveDuplicates,Columns:=1, Header:=xlYes Next End Sub
新的代碼仍然不起作用。如果我在運行宏之前手動選擇P列,它將起作用。但它只適用於我選擇的一張紙,它似乎沒有執行循環。絕對不會自動執行每個表單,或者爲每個表單提示我。 編輯:3/4
確保你沒有任何保護的數據,我也經歷了與數據透視表的問題,但我想這可能是權限謝謝你的幫助。
從'設置RNG刪除'.Select' = .... .Select' – YowE3K
你'RemoveStuff'循環實際上不會改變任何東西每個循環。你的意思是選擇所有的紙張並在那裏設置範圍?您還應該小心,並在該範圍內添加工作表(「B1」)。否則,抓取的範圍將只是ActiveSheet的範圍。 – BruceWayne
你確定'Copy'正在工作嗎?!?!?! – YowE3K