如何将范围从一个工作簿复制到另一工作簿

时间:2020-08-05 19:37:16

标签: excel vba copy

我想从我从Outlook打开的两个扩展为xls和xlsx的工作簿中复制一个范围。放入另一张Excel工作簿的特定工作表中。

下面是我的代码。粗体字是我的代码以“下标超出范围”消息中断的地方 ThisWorkbook.Worksheets(“ Sheet13”)。Range(“ A:AR”)。Paste

仅供参考,在我运行脚本之前先打开工作簿。预期的目标工作簿是“ Tag Up Workbook v4.0.0.xlsm”

Sub easyUpdate()
Application.ScreenUpdating = False
    'Remove formula from last row resolve and queue
    Dim rng As Range, cell As Range, R As Range
    Set rng = ThisWorkbook.Worksheets("Slide 1 Chart 1").Range("C:C").SpecialCells(xlCellTypeVisible)

    For Each R In rng
        If R.Value <> "" Then
            Set cell = R
        End If
    Next R

    cell.Value = cell.Value
    
        Set rng = ThisWorkbook.Worksheets("Slide 1 Chart 1").Range("D:D").SpecialCells(xlCellTypeVisible)

    For Each R In rng
        If R.Value <> "" Then
            Set cell = R
        End If
    Next R

    cell.Value = cell.Value
    
'clear source sheets and move data from current to previous source
ThisWorkbook.Worksheets("Previous Day Incident Source").Range("A:AR").ClearContents
Sheets("CCDR Source").Cells.Clear
Sheets("Handle Times Source").Cells.Clear
Sheets("Agent Detail Source").Cells.Clear
Sheets("Current NSF Request Source").Cells.Clear
ThisWorkbook.Worksheets("Tasks INC_REQ Source").Range("A:Q").ClearContents
Sheets("Queue Delta Source").Cells.Clear

ThisWorkbook.Worksheets("Current Incident Source").Range("A:AR").Copy Destination:=ThisWorkbook.Worksheets("Previous Day Incident Source").Range("A:AR")
ThisWorkbook.Worksheets("Current Incident Source").Range("A:AR").Copy
ThisWorkbook.Worksheets("Previous Day Incident Source").activate
ThisWorkbook.Worksheets("Previous Day Incident Source").Range("A:AR").Select
ThisWorkbook.Worksheets("Previous Day Incident Source").Paste

ThisWorkbook.Worksheets("Current Incident Source").Range("A:AR").ClearContents

'Copy range to clipboard
Workbooks("Tag Up Incident Source Dump.xlsx").Worksheets("Page 1").Range("A:AR").Copy
'PasteSpecial to paste values, formulas, formats, etc.
ThisWorkbook.Worksheets("Sheet13").Range("A:AR").Paste

'Copy range to clipboard
Workbooks("Tag Up CCDR Abandon Call Report.xls").Worksheets("Tag Up CCDR Abandon Call Report").Range("A:R").Copy
'PasteSpecial to paste values, formulas, formats, etc.
ThisWorkbook.Worksheets("Sheet10").Range("A:R").Pastets, etc.
ThisWorkbook.Worksheets("Sheet10").Range("A:R").Paste

1 个答案:

答案 0 :(得分:0)

在BigBen的帮助下 “您可以使用ThisWorkbook.Sheets(“ theactualsheetname”),也可以仅使用Sheet13(不能使用ThisWorkbook)。“ yoursheetname”将是工作表的名称,“ Sheet13”将是代号。– 1个小时前的BigBen”

将范围复制到剪贴板工作簿(“事件源Dump.xlsx标记”)。工作表(“第1页”)。范围(“ A:AR”)。复制'PasteSpecial粘贴值,公式,格式等。 ThisWorkbook.Worksheets(“当前事件源”).activate ThisWorkbook.Worksheets(“当前事件源”).Range(“ A:AR”)。选择ThisWorkbook.Worksheets(“当前事件源”)。粘贴–