2017-03-06 76 views
0

我有一个问题,粘贴列VBA pasteFormats激活目标工作表

Set SourceWBsht = Thisworkbook.Worksheets("Source") 
    Set DestinationWBsht= Thisworkbook.Worksheets("Destination") 
    SourceWBsht.Range("A1:Z40").EntireColumn.Copy 
    DestinationWBsht.Range("A1:Z40").EntireColumn.PasteSpecial _ 
    Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

    SourceWBsht.Range("A1:Z40").EntireRow.Copy 
    DestinationWBsht.Range("A1:Z40").EntireRow.PasteSpecial _ 
    Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

的问题是VBA自动激活目标表,不知怎的,我试图避免它。有任何想法吗?

感谢。

+0

后在我的Excel 2103您的代码不激活 “目标” 的工作表。可能会在你的代码执行之前或之后发出一些声明:执行你的代码并为它做好准备 – user3598756

+0

是的,使用调试工具。没有问题。 它仅在完整的代码中激活其他工作表。 –

+0

我没有以任何方式获得任何“目标”表单激活。当您启动宏时,可能“目标”工作表是_active_一个 – user3598756

回答

0

你可以尝试这样的事情:

DestinationWBsht.Range("A1:Z40").value = SourceWBsht.Range("A1:Z40").value 

编辑1:评论

SourceWBsht.Range("A1:Z40").Copy 
DestinationWBsht.Range("A1:Z40").PasteSpecial xlPasteFormats 
Application.CutCopyMode = False 
+0

我试图粘贴列格式和颜色,而不是值。 –

+0

@AhmedAbdelKhalek我编辑帖子 – BOB