如何复制/粘贴数据并删除工作表,然后另存为?

时间:2019-04-01 16:27:23

标签: excel vba copy-paste worksheet

我正在尝试编写宏,但是有困难。每个月我都会收到一个文件,必须执行复制数据并将其粘贴为值的特定任务,并删除特定的工作表。但是主要的部分是文件名每个月都会更改,因此我试图将这些宏放入另一个空白工作簿中,该工作簿将打开特定的工作簿并执行任务,并在完成任务后将文件另存为新的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个宏,那会很好吗?

致谢。

0 个答案:

没有答案