Как скопировать диапазон из одной книги в другую - PullRequest
0 голосов
/ 05 августа 2020

Я хотел бы скопировать диапазон из двух книг, которые я открываю из Outlook с расширениями xls и xlsx. В частности c листов другой книги Excel.

Ниже приведен код, который у меня есть. Полужирным шрифтом выделено место, где мой код прерывается сообщением «индекс вне допустимого диапазона» ThisWorkbook.Worksheets («Sheet13»). Range («A: AR»). Вставьте

FYI книги открываются до того, как я запустил скрипт. Предполагаемая целевая книга - «Книга тегов 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 голосов
/ 06 августа 2020

С помощью BigBen «Вы можете использовать либо ThisWorkbook.Sheets (« theactualsheetname »), либо просто Sheet13 (без ThisWorkbook).« Yoursheetname »будет именем рабочего листа, а« Sheet13 »- кодовым именем. - BigBen 1 час a go "

Копировать диапазон в буфер обмена. Рабочие книги (" Tag Up Incident Source Dump.xlsx "). Worksheets (" Page 1 "). Range (" A: AR "). Скопируйте 'PasteSpecial, чтобы вставить значения, формулы, форматы и т. д. c. ThisWorkbook.Worksheets («Текущий источник инцидента»). Активировать ThisWorkbook.Worksheets («Текущий источник инцидента»). Диапазон («A: AR»). Выберите ThisWorkbook.Worksheets («Текущий источник инцидента»). Вставить -

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...