首页 > 解决方案 > 宏运行后保存新工作簿保留工作表名称

问题描述

我将一个文件分成 15000 行。我正在从要求选择文件然后拆分它的电子表格中运行一个宏。但是,当我尝试命名拆分文件时,它带有运行宏的文件的活动工作表名称,而不是拆分文件。

我必须拆分 10 多个文件,并且我需要更改名称,而无需我每次都编写它。

这是脚本的代码,你能调整一下以获得我需要的输出吗?

我试图在全球范围内寻找,但从未找到正确的例子。

Sub Split_File()

Dim iCalc As Long, i As Long
Dim my_FileName As Variant
Dim wb As Workbook
Dim wbn As String

wbn = wb.ActiveSheet
iCalc = Application.Calculation

With Application

    .Calculation = xlManual
    .ScreenUpdating = False
    .EnableEvents = False

End With

my_FileName = Application.GetOpenFilename()
Set wb = Workbooks.Open(Filename:=my_FileName, ReadOnly:=False)

With wb.ActiveSheet

    For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row Step 15000

        Range(.Range("A1:BP1").Address(0, 0) & "," & .Range(Cells(i, "A"), Cells(i, "BP").Resize(15000)).Address(0, 0)).Copy

            Workbooks.Add
            Range("A1").PasteSpecial xlPasteValues

            With ActiveWorkbook
                .SaveAs Filename:="itsownfolder\" & wbn & "Rows" & i & ".xlsx"
                .Close
            End With
    Next i

End With

With Application

    .Calculation = iCalc
    .ScreenUpdating = True
    .EnableEvents = True

End With

End Sub

标签: excelvbasave

解决方案


推荐阅读