vba Excel 宏将特定工作表复制到另一个工作簿

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/18121040/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-11 22:37:41  来源:igfitidea点击:

Excel Macro to copy a specific worksheet to another workbook

vbaexcel-vbaexcel

提问by user2663596

this is my code for my Macro. What is does is copy a specific sheet to another workbook. My question is how to paste only values and the format must be read type only.

这是我的宏代码。什么是将特定工作表复制到另一个工作簿。我的问题是如何仅粘贴值且格式必须为只读类型。

Sub NewReport()
Dim PRICE_REV_TEMPLATE As Workbook
Dim PRICE_REV_TEMPLATE_FC As Workbook

With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
    .EnableEvents = False
End With

Set PRICE_REV_TEMPLATE = ActiveWorkbook


Set PRICE_REV_TEMPLATE_FC = Application.Workbooks.Add(1)
PRICE_REV_TEMPLATE.Sheets(Array(PRICE_REV_TEMPLATE.Sheets(6).Name)).Copy _         
Before:=PRICE_REV_TEMPLATE_FC.Sheets(1)
PRICE_REV_TEMPLATE_FC.SaveAs FileName:="C:\Users\A3RBJZZ\Desktop\PRICE_REV_TEMPLATE_FC"

PRICE_REV_TEMPLATE_FC.Close
With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
    .EnableEvents = True
End With
End Sub

回答by Bharath Raja

Try this - Hope this Helps

试试这个 - 希望这有帮助

Sub NewReport()
   Dim PRICE_REV_TEMPLATE As Workbook
   Dim PRICE_REV_TEMPLATE_FC As Workbook

   With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
    .EnableEvents = False
   End With

   Set PRICE_REV_TEMPLATE = ActiveWorkbook


   Set PRICE_REV_TEMPLATE_FC = Application.Workbooks.Add(1)
   PRICE_REV_TEMPLATE.Sheets(Array(PRICE_REV_TEMPLATE.Sheets(1).Name)).Copy Before:=PRICE_REV_TEMPLATE_FC.Sheets(1)

   'selecting all cells and pasting as only values
    PRICE_REV_TEMPLATE_FC.ActiveSheet.Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    PRICE_REV_TEMPLATE_FC.ActiveSheet.Paste
    Application.CutCopyMode = False

    'Added the Readonlyrecommended attrib.
    PRICE_REV_TEMPLATE_FC.SaveAs Filename:="C:\Users\A3RBJZZ\Desktop\PRICE_REV_TEMPLATE_FC", ReadOnlyRecommended:=True

    PRICE_REV_TEMPLATE_FC.Close
    With Application
      .ScreenUpdating = True
      .DisplayAlerts = True
      .EnableEvents = True
    End With
End Sub