我的目标是:过滤某些行,复制这些已过滤的行并将其粘贴到另一张表格上。 我做了两次:第一次,它运作良好,但第二次,根本没有。 在我的代码示例之前,您需要知道:wsData --- filter - > wsDataUpdated --- filter ---> wsDataUpdated2。
问题是:第二个过滤器非常好,但是粘贴就像尴尬:它在整个范围内粘贴,我的意思是:如果我之后只有2行过滤,并将其粘贴在wsDataUpdated2上,范围为:(" A1:A100")它将粘贴50次!!尴尬的部分是它与我的第一个过滤器完全相同的代码,在我的第一个过滤器上,即使我的行数少于我的范围,它也不会粘贴两次或更多...通过一些断点,我发现过滤后的部分和复制部分是完美的。粘贴部分根本不行。
以下是我的代码示例:
wsDataUpdated.Range("B4").CurrentRegion.AdvancedFilter xlFilterInPlace, wsCriteria2.Range("A1").CurrentRegion
wsDataUpdated.Range("A1:AG10150").SpecialCells(xlCellTypeVisible).Copy
wsDataUpdated2.Range("A1:AG10150").PasteSpecial Paste:=xlPasteValues
wsDataUpdated2.Range("A1:AG10150").PasteSpecial Paste:=xlPasteFormats
答案 0 :(得分:3)
您是否尝试仅在第一个单元格上粘贴它?
wsDataUpdated2.Range("A1").PasteSpecial Paste:=xlPasteValues
答案 1 :(得分:3)
这是正常行为。尝试将3个细胞的手动复制粘贴到9个细胞的选择中:您将获得3个拷贝。替换
wsDataUpdated2.Range("A1:AG10150")
带
wsDataUpdated2.Range("A1")
这应该可以解决问题。