经过一些研究,我找到了使用“特殊情况”进行转置的方法。但是,我不认为这对我有用,因为我使用复制范围来获取唯一值。
以下代码适用于将唯一值复制到工作簿:
Sub GetComponents()
ActiveSheet.Range("G2:G65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ThisWorkbook.Worksheets("Sheet2").Range("A1"), Unique:=True
End Sub
然而,当我试图转置它失败时
Sub GetComponents()
ActiveSheet.Range("G2:G65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ThisWorkbook.Worksheets("Sheet2").Range("A1"), Unique:=True, Transpose:=True
End Sub
有没有办法获得' CopyToRange'转置?如果没有,我可以获得' PasteSpecial'过滤唯一值?
提前致谢
答案 0 :(得分:1)
我认为唯一的方法是分两步完成:
Sub GetComponents()
ActiveSheet.Range("G2:G65536").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=ThisWorkbook.Worksheets("Sheet2").Range("A1"), Unique:=True
With ThisWorkbook.Worksheets("Sheet2")
.Range(.Range("A1"), .Range("A1").End(xlDown)).Copy
.Range("B1").PasteSpecial xlPasteValues, Transpose:=True
.Columns("A").EntireColumn.Delete
End With
End Sub