[英]Unique Values range list
我正在使用以下代码从另一张工作表中提取唯一值并将其粘贴到另一张工作表中。 该代码运行非常快,这很棒。 但是,我无法弄清楚如何仅将数据粘贴为值,也不能复制原始格式。 我知道您需要将.PasteSpecial xlValues设置为特定范围,但是当我尝试这样做时,出现错误1004。
任何建议将不胜感激。 谢谢!
Option Explicit
Sub Uniquevalues()
Dim lastrow As Long
Dim wk As Worksheet
Dim wk1 As Worksheet
Set wk = Sheets("X")
Set wk1 = Sheets("Y")
lastrow = Cells(Rows.Count, "B").End(xlUp).Row
wk.Range("B3:B" & lastrow).AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=wk1.Range("c4"), _ ' tried to set afer ("c4") .PasteSpecial xlValues, but it doesn't work
Unique:=True
'wk1.Range("c4").PasteSpecial xlValues - tried like this as well and it doesn't work
End Sub
这就是我摆脱复制格式单元格的方式:
Sub format()
Dim wk2 As Worksheet
Dim lastrow1 As Long
Set wk2 = Sheets("Y")
lastrow1 = wk2.Cells(Rows.Count, "C").End(xlUp).Row
wk2.Range("c4:c" & lastrow1).Select
With Selection
Selection.NumberFormat = "General"
.Value = .Value
.ClearFormats
End With
End Sub
没有您的数据,我无法测试,但可以尝试以下方法:
Option Explicit
Sub Uniquevalues()
Dim wk As Worksheet, wk1 As Worksheet, lastrow As Long
Set wk = Sheets("X")
Set wk1 = Sheets("Y")
lastrow = wk.Cells(Rows.Count, "B").End(xlUp).Row
wk.Range("B3:B" & lastrow).AdvancedFilter xlFilterCopy, , wk1.Range("c4"), True
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.