vba - 从范围中删除重复项而不删除数据

标签 vba excel

所以我本质上想从一个工作表中获取一个范围并删除重复项,将该范围保存为我的 vba 代码中的某个对象,不包含重复项。然后将该范围粘贴到另一张纸中。但是,在删除重复项时,我不想触及 Sheet1 中的任何数据。

所以我有这样的东西:

Sub removeduplicates()
Dim rng As Range
Dim num As Long

With Worksheets("Sheet1")
     Set rng = .Range("A2").End(xldown).RemoveDuplicates
     num = rng.Row
End With

With Worksheets("Sheet4")
     .UsedRange.ClearContents
     .
     .
     .
'Need some code here to essentially paste (w/transpose) in Sheet4 Row 1 columns A to 
'to Row 1 column 'num' value. So similar to:
.Range(.Cells(1,1), .Cells(1,num)) 

希望你明白我的目的。我可能需要使用数组或其他东西来代替,但我只是卡住了。而且这段代码可能有很多错误。经过大量的玩耍之后。

谢谢。

最佳答案

  • A列从Sheet1复制到Sheet4
  • Sheet4A中删除重复项
  • Sheet4中将A列复制到#1

.

Sub removeduplicates()
Dim rng As Range
Dim s1 As Worksheet, s4 As Worksheet
Set s1 = Sheets("Sheet1")
Set s4 = Sheets("Sheet4")
Dim num As Long
s4.Cells.ClearContents
num = s1.Cells(Rows.Count, 1).End(xlUp).Row
s1.Range("A2:A" & num).Copy s4.Range("A2")
s4.Range("A:A").removeduplicates Columns:=1
num = s4.Cells(Rows.Count, 1).End(xlUp).Row
s4.Range("A1:A" & num).Copy
s4.Range("B1").PasteSpecial Transpose:=True
End Sub

关于vba - 从范围中删除重复项而不删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25205427/

相关文章:

excel - VBA VLookup 按列名称

excel - 如何使用 VBA 自动扩展图表的范围?

arrays - 在 VBA 中动态声明数组

excel - 将工作表和单元格设置为变量

excel - 在两个表中查找第一个匹配项

ios - Swift - 如何在项目中使用资源 excel 文件打开 excel 应用程序? (无法打开文件错误)

sql - 如何使用 SQL Server 中的数据填充 Excel ComboBox?

excel - 在 Excel 中抑制保存更改对话框的两种方法不起作用

正则表达式:提取文本 block ,定义开始,未定义结束

c# - 哪一行代码仍在使用该文件而不释放它?