Disable clipboard prompt in Excel VBA on workbook close

后端 未结 7 2199
伪装坚强ぢ
伪装坚强ぢ 2020-12-16 13:03

I have an Excel workbook, which using VBA code that opens another workbook, copies some data into the original, then closes the second workbook.

When I close the sec

7条回答
  •  [愿得一人]
    2020-12-16 13:34

    I can offer two options

    1. Direct copy

    Based on your description I'm guessing you are doing something like

    Set wb2 = Application.Workbooks.Open("YourFile.xls")
    wb2.Sheets("YourSheet").[].Copy
    ThisWorkbook.Sheets("SomeSheet").Paste
    wb2.close
    

    If this is the case, you don't need to copy via the clipboard. This method copies from source to destination directly. No data in clipboard = no prompt

    Set wb2 = Application.Workbooks.Open("YourFile.xls")
    wb2.Sheets("YourSheet").[].Copy ThisWorkbook.Sheets("SomeSheet").Cells(
    1. Suppress prompt

    You can prevent all alert pop-ups by setting

    Application.DisplayAlerts = False
    

    [Edit]

    1. To copy values only: don't use copy/paste at all

    Dim rSrc As Range
    Dim rDst As Range
    Set rSrc = wb2.Sheets("YourSheet").Range("YourRange")
    Set rDst = ThisWorkbook.Sheets("SomeSheet").Cells("YourCell").Resize(rSrc.Rows.Count, rSrc.Columns.Count)
    rDst = rSrc.Value
    

提交回复
热议问题