Как скопировать / вставить данные и удалить листы, а затем сохранить как? - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь написать макрос, но у меня возникают трудности.Каждый месяц я получаю файл, для которого мне приходится выполнять конкретные задачи по копированию данных и вставке в качестве значений, а также по удалению определенных листов.Но основная часть заключается в том, что каждый месяц имя файла будет меняться, поэтому я пытаюсь поместить эти макросы в другую пустую книгу, которая откроет конкретную книгу и выполнит задачу, а после выполнения задач сохранит этот файл как новый Excel.файл.Nomefile - это ячейка, которая содержит название рабочей книги, которую нужно открыть.

Sub PasteSpecial_Values()

nomefile = (dati(j, 1) & "\" & dati(j, 2))
Workbooks.Open Filename:=nomefile

Worksheets("SC Global Overview").Range("A1:F80").Copy
Worksheets("SC Global Overview").Range("A1:F80").PasteSpecial Paste:=xlPasteValues

Worksheets("GL_EU").Range("A1:J100").Copy
Worksheets("GL_EU").Range("A1:J100").PasteSpecial Paste:=xlPasteValues

Worksheets("GL_APAC").Range("A1:J100").Copy
Worksheets("GL_APAC").Range("A1:J100").PasteSpecial Paste:=xlPasteValues

Worksheets("GL_SAM & NAM").Range("A1:J100").Copy
Worksheets("GL_SAM & NAM").Range("A1:J100").PasteSpecial Paste:=xlPasteValues

Worksheets("SC Europe Overview").Range("A1:F80").Copy
Worksheets("SC Europe Overview").Range("A1:F80").PasteSpecial Paste:=xlPasteValues

Worksheets("REG_EU").Range("A1:J100").Copy
Worksheets("REG_EU").Range("A1:J100").PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = False

End Sub
Sub SheetKiller()
Dim s As Worksheet, t As String
Dim i As Long, K As Long
K = Sheets.Count

For i = K To 1 Step -1
    t = Sheets(i).Name
    If t = "Check combinations" Or t = "Measures" Or t = "GL_Target" Or t = "Parameters" Or t = "Data" Or t = "Pivot data initiative" Or t = "Pivot data substream" Or t = "Pivot data" Or t = "Pivot check names" Or t = "Pivot check region" Then
        Application.DisplayAlerts = False
            Sheets(i).Delete
        Application.DisplayAlerts = True
    End If
Next i

ThisWorkbook.SaveAs Filename:=WaveReporting, Format:=xlOpenXMLWorkbook

End Sub

Может кто-нибудь помочь, и будет хорошо, если мы сможем преобразовать его в один макрос, а не в 2?

С уважением.

...