2014-03-06 40 views
0

Activesheet.pastespecial不能正常工作。 Activesheet.paste给我的结果,但我也需要格式。Pastespecial不工作,虽然粘贴

Sub Show() 

Dim Rng As Range 
Set Rng = Activeworkbook.Worksheets("Dashboard").Range("A1:F30") 
Rng.Select 
Rng.Copy 
Activeworkbook.Close 

ThisWorkbook.Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Dashboard" & NewFile 
With ActiveSheet 
.Range("A1").Activate 
.Range("A1").Select 
.Pastespecial Paste:=XlPasteAll **<-------** 

End With 

End Sub 
+0

应该是Selection.Pastespecial粘贴:= XlPasteAll刚刚在我的最终测试,它确实带来格式。 –

+0

顺便说一句,你可以用'ActiveSheet.Range(“A1”)替换最后五行。PasteSpecial Paste:= xlPasteAll' – Kapol

回答

0

我想你需要指定粘贴位置。

With ActiveSheet 
.Range("A1").Pastespecial Paste:=XlPasteAll **<-------** 

End With 
+0

不幸的是没有工作 – Shoaibkhanz

+0

你是否删除了** <------- * *? 我测试过它对我有用 – vinkun

+0

是的,我确实删除了它。 – Shoaibkhanz

0

在粘贴之前不要关闭工作簿,你应该没问题。我自己从来没有做过这样的事情,但看起来像关闭后你只能粘贴值。我试图粘贴格式并发生错误。

+0

感谢它的工作方式 – Shoaibkhanz